- Unité d'enseignement : Programmation fonctionnelle avancée
Nombre de crédits de l'UE : 3
Code APOGEE : INF1214M
Type d'enseignement
Nb heures *
Cours Magistraux (CM)
9 h
Travaux Pratiques (TP)
12 h
* Ces horaires sont donnés à titre indicatif.
Compétences attestées (transversales, spécifiques) :
Non rédigé
Programme de l'UE / Thématiques abordées :
Le cours de programmation fonctionnelle avancée s'intéresse tout d'abord à la notion de persistence des données : il présente et motive l'utilisation de structures de données persistantes et efficaces dont l'implantation est simple et naturelle dans un langage fonctionnel typé : arbres, dictionnaires, arbres de préfixes, etc.
Il est important de savoir adapter ses structures et son style au problème qu'on cherche à résoudre et, le purisme n'étant pas toujours bienvenu, le cours s'intéresse dans un deuxième temps à l'utilisation, dans un développement majoritairement fonctionnel, de traits impératifs permettant d'optimiser temps et ou place mémoire, notamment au travers du concept de hash-consing. Il se poursuit enfin sur l'étude des notions de clôtures, continuation (asynchrones) et monades.
Plan :
- Persistence et garbage-collection
- Zippers, arbres, dictionnaires, tries
- Union-find et unification
- Traits impératifs hash-consing
- Continuations et monades
Parcours / Spécialité / Filière / Option utilisant cette UE :
Date de la dernière mise-à-jour : 30/11/2022
SELECT MEN_ID, `MEN_DIP_ABREVIATION`, `MEN_TITLE`, `PAR_TITLE`, `PAR_ID` FROM parcours INNER JOIN ue_parcours ON PAR_ID_FK=PAR_ID INNER JOIN mention ON MEN_ID = PAR_MENTION_FK WHERE PAR_ACTIVATE = 0 AND UE_ID_FK='26125' ORDER BY `MEN_DIP_ABREVIATION`, `MEN_TITLE`, `PAR_TITLE`