Programmation Fonctionnelle
Infos
- Soutenance projet, St-Jérome : le vendredi 8/11, de 15h00 à 19h00.
- Soutenance projet, groupe 1 Luminy : le jeudi 7/11, de 10h00 à 12h00.
- Soutenance projet, groupe 2 Luminy : le mardi 5/11, de 8h00 à 10h00.
- Pas de cours, Tds, et Tps, la semaine du 16 au 20 septembre
- EdT Luminy
- EdT St-Jérôme
Documents du cours
Cours
- Transparents 1er cours : ch01,
ch02, ch03.
- Transparents 2ème cours 2 : ch04,
ch05.
- 3ème cours : fonctions récursives et d'ordre superieur,
input-output. Transparents
: ch06, ch07, ch09.
- 4ème cours : définitions de types, types récursifs. Transparents : ch10.
- Cours 5 : évaluation, programmes, tests, et
preuves. Transparents ch12 et
ch13.
TDs et TPs
Code
Un peu de code (entre autre : les complexes)
par ici.
Le projet
-
On vous demande d'implanter en Haskell
l'algorithme d'unification.
- Les exercices proposés dans le TP
no. 4 constituent une première étape vers cet objectif.
- Le projet se déroule impérativement en binome. Les
projets en solo ne seront pas acceptés.
- Le projet est à rendre avant dimanche 20 octobre,
23h59. Pour le rendre, envoyez les sources dans un fichier
format
zip
, qui sera nommé
projet_PF_nomprenom1_nompenom2.zip
, par
courriel à Luigi Santocanale. Un fichier
texte README
accompagnera les sources,
éclaircira les objectifs atteints (ou non) du projets,
et comment tester le code.
-
Les critères suivants seront utilisés pour évaluer le
projet :
- Qualité du code : maîtrise du langage Haskell et du style
fonctionnel de
programmation.
- Modularité et organisation du code : structurez
vos scripts en modules, utilisez
un
Makefile
pour compiler un
exécutable de test.
- Documentation du code : à ce fin, vous pouvez vous
familiariser avec l'outil Haddock.
- Objectifs atteints : combien vous êtes loin de
réaliser le projet.
-
Testabilité du code et qualité des tests :
prévoyez un grand nombre d'exemples pour tester,
une simple interface utilisateur (seulement du
texte) permettant de tester le fonctionnement du
code, utilisez le module
QuickCheck
pour produire des tests.
Si le projet ne compile pas, alors il sera évalué à 0.
- Une soutenance sera organisée (date à fixer) afin que soyez en
mesure de défendre la qualité de votre projet. L'absence
à la soutenance entraînera la note 0 au projet.
- Attention : il n'existe pas une note de projet de 2ème session,
donc la note du projet n'est pas rattrapable. La note du
projet sera donc partie de la note finale pour cette UE.
Références
Autres lectures conseillées
Se preparer à l'examen
Les annales des examens passés sont
disponibles ici.
Calcul de la note finale
NF = 0.4*PROJET + 0.6*EXAMEN