Functional Approaches to Programming |
Bienvenue sur la page d'accueil du cours de Programmation Fonctionnelle donné à l'EPITA en première année du cycle Ingénieur.
The functional programming paradigm is very ancient, grounded in solid theoretical foundations, yet much less popular than the object-oriented one, although it has gained momentum in the past two decades. This course presents the functional programming paradigm using two languages in parallel: Lisp (the father of the paradigm) and Haskell (a more recent one). Both of these languages are functional, yet completely different in practically every aspect. This is precisely what makes their juxtaposition interesting.
We study the history of the paradigm, the applicative principles it offers (primarily first class functions), and the different contexts in which this paradigm can be integrated: static vs. dynamic typing, pure or impure (with or without side effects), and strict or lazy evaluation.
Title | Slides | Companion Code |
---|---|---|
00. Introduction | PDF (fr, en) | |
01. Lisp/Haskell: Tutoriel des Différences | PDF (fr, en) | tar gz |
02. Ordre Supérieur | PDF (fr, en) | tar gz |
03. Évaluation et Scoping | PDF (fr, en) | tar gz |