Introduction to functional and logic programming
- UE code INFOB316
-
Schedule
30 30Quarter 1
- ECTS Credits 5
-
Language
Français
- Teacher Vanhoof Wim
The objective of this course is to introduce students to declarative programming by studying the basics of functional and logic programming.
This course comprises two parts. In a first part we develop the functional programming paradigm. We study the basic concepts underlying this paradigm (functions, reduction strategies, strict and lazy evaluation) and we develop some more advanced topics such as higher-order programming, monomorphic and polymorphic typings, and type classes. All concepts are studied using the language Haskell. In the second part, we develop the logic programming paradigm. We study the Prolog language and its use of Horn logic, unification, selection rule, and negation. We develop some examples of non-deterministic programming. Through the course, we pay attention to programming techniques traditionally associated with these paradigms (e.g. the use of meta-interpreters) and the techniques by which these languages and the involved technologies can be implemented effectively.
Written exam involving programming exercices as well as questions on comprehension and knowledge of the material.
Training | Study programme | Block | Credits | Mandatory |
---|---|---|---|---|
Standard | 0 | 5 | ||
Standard | 3 | 5 |