2IPH0 (2024-1) Functional Programming

The goal of this course is to acqaint students with the declarative programming paradigm, mainly through pure and lazy functional programming with leading roles for types, generalization, and calculation.

The course is to have theoretical and practical elements of which the latter will be using Haskell.

Content
* Derivation and construction of functional programs, mainly by calculation.

* Recursion, inductive types, recursion schemes, streams ,and some theoretical elements of lambda calculus and type theory (polymorphic types).