Functional Programming & Domain-Specific Languages

Two day introductory industry course with Prof. Tom Schrijvers

Functional Programming & Domain-Specific Languages
Leuven, Belgium

Functional Programming & Domain-Specific Languages

Leuven, Belgium
KU Leuven


What?

Functional Programming (FP) is a powerful programming paradigm based on a very simple notion: the central unit of computation is the function, whose outputs are uniquely determined by its inputs.

Why?

What makes Functional Programming unique is that its ideas have steadily matured over many decades. Its compact notation, powerful abstraction mechanisms and ease of reasoning have systematically convinced programming language researchers and designers. As a consequence, its influences can be seen in most present-day programming languages and libraries. Indeed, it is hard to find a language that does not support higher-order programming and anonymous functions.

How?

This two-day course provides a basic introduction to the core concepts of Functional Programming by means of the Haskell programming language. Because Haskell is a purely functional programming language, it is one of the best settings to study functional concepts in their most essential form, before identifying and applying them in other language settings.

This course has a particular focus on embedded domain-specific languages (DSLs). DSLs are a powerful problem-solving technique that highlights many aspects of the functional approach to programming.

Target Audience

This course is aimed at industry participants who want to better understand the basic concepts of Functional Programming.

We assume a working knowledge of programming in some (not necessarily functional) programming language (Java, C#, Python, ...).

Contents

Day 1:

  • Haskell basics
  • Practice Session
  • Algebraic datatypes and pattern matching
  • Practice Session
  • Recursion
  • Practice Session

Day 2:

  • Higher-order functions and recursion schemes
  • Practice Session
  • Domain-specific languages, part 1
  • Practice Session
  • Domain-specific languages, part 2
  • Practice Session
Prof. Tom Schrijvers

About Prof. Tom Schrijvers

Prof. dr. ir. Tom Schrijvers heads the Functional Programming team at the KU Leuven Department of Computer Science.

He has eight years of experience teaching Functional Programming in Haskell to students in the master of engineering - computer science and bachelor of informatics curricula, both at KU Leuven and UGent. (He received the VTK student union award for funniest computer science lecturer 2016-2017.) Moreover, he and his team have previously organised 10 industry training days on functional programming in mainstream languages as part of the vLambda technology transfer project.

On the research side, Tom Schrijvers and his team are well recognized for their many contributions to the field of Functional Programming, such as the design of Haskell type system extensions, handling and reasoning about side-effects, and the design of embedded domain-specific languages.

Leuven, Belgium

Functional Programming & Domain-Specific Languages

Leuven, Belgium
KU Leuven


Also check out

DDD Immersion
Eric Evans

in Amsterdam, Netherlands