URL study guide
https://tue.osiris-student.nl/onderwijscatalogus/extern/cursus?cursuscode=2IPH0&collegejaar=2025&taal=enDescription
This course is about the theory of functional programming and some basic programming in Haskell. In the theoretical part we cover computing correct-by-construction recursive functions, polymorphic types, inductive types and co-inductive types. The theory connects directly to the programming practical, where you use basic inductive and co-inductive types to solve problems.
Objectives
After this course, students are able to
- calculate a correct-by-construction recursive function based on a formal specification.
- improve the efficiency of recursive functions by means of accumulation and tupling.
- apply pointwise and pointfree equational reasoning.
- use polymorphic type inference to determine the most general type of a function.
- explain inductive and co-inductive data structures by means of functors, (co-)homomorphisms and initiality/finality.
- systematically define functions as catamorphisms and anamorphisms.
- to apply the techniques of cata-fusion, ana-fusion and hylo-fusion.
- implement the solution to a problem in a functional programming language.