Insight in some state-of-the-art advanced programming concepts, their theoretical background and their practical applicability. Insight in the tradeoffs in the construction of an embedded domain specific language and their application.|
In this course advanced programming concepts will be taught. In this course we focus on the use of a functional programming language for the construction of an embedded domain specific language, EDSL. In DSL terms we will address shallow and deep embedded DSLs and their advantages and disadvantages. We will address the following advanced (functional) programming topics:
- generic programming;
- combinatorical programming;
- task oriented programming;
- executable semantics;
- state handling in pure functional languages;
- advanced data structures.