Programmation fonctionnelle

Nombre d'heures

25.0

Niveau d'étude

Bac +3

Période de l'année

Semestre 6

Présentation

Programme résumé :

  • concepts fondamentaux ; expressions, définitions, fonctions, le calcul comme réduction d’expressions, la transparence référentielle, la récursivité, notion d’environnement ;
  • notion de types (types produit et types somme) et de système de typage. Typage des expressions, inférence de types, curryfication. Liens avec la correction des programmes ;
  • polymorphisme, variables de type ;
  • les fonctionnelles (fonctions d’ordre supérieur) ; applications aux structures de données linéaires (listes, piles, files) et aux arbres. Points fixes et récursivité ;
  • les différentes stratégies d’évaluation (forte et paresseuse) ;
  • utilisation d’un langage de programmation fonctionnelle (OCaml), étude et comparaison de différents langages de programmation (Haskell, OCaml, Scheme) ;
  • partie optionnelle :introduction aux aspects théoriques ; lambda-calcul, lien entre programmes et preuves (correspondance de Curry-Howard).

Objectifs

Comprendre les notions de bases de la programmation fonctionnelle, savoir les mettre en oeuvre et être autonome dans cette mise en oeuvre.

Conditions d'admission

Algorithmique et programmation des deux premières années de licence d’Informatique.

Volume horaire

TP15
CM10

Compétences visées

  • Savoir mettre en oeuvre les bases de la programmation fonctionnelle et être autonome dans cette mise en oeuvre.
  • Reconnaître les situations où la programmation fonctionnelle est plus adaptée qu'un autre paradigme de programmation.

Diplômes intégrant cette UE

Méthode d'enseignementEn présence

Composante

Etudiants internationaux

Ouvert aux étudiants en échange

Lieu(x)

  • Futuroscope
Logo

Nous contacter

15, rue de l'Hôtel Dieu
TSA 71117
86073 POITIERS Cedex 9 - France
Tél : (33) (0)5 49 45 30 00
Fax: (33) (0)5 49 45 30 50

Suivez-nous