Cette page est la page officielle du cours du 1er semestre 2013/2014 intitulé
« Typage et Polymorphisme »
qui s'adresse aux étudiants de master de l'UPMC.
La description de la brochure du module se trouve
ici.
Nouvelles fraîches
- consultation des copies, lundi 20.1.2014 de 12H45 à 13h45 en salle en C212 à la MdP
- notes en lignes sur DBUFR
- 1er cours : lundi 16/09/2013 à 8h30 (46-0, 103)
- liste provisoire des articles et réalisations +répartition + lien pour soumettre (voir rubrique Examens)
- soutenances le 28/10/13 (voir planning à la rubrique Examens)
- examen le 21/11/13
Notes de cours, TD et TME
- 6ème : GADT, fusion des modèles
- 5ème cours : polymorphisme parametrique et panorama des lanagges (PDF)
- 4ème cours : typage objet et surcharge (PDF)
- comparaison algorithmes de résolution de la surcharge en Java 1.5 et en java 1.2
- simulation d'algorithme de surcharge en Java 1.5 avec production de code ZAM (projet Potdevin-Vaugon)
(rapport et javaz.tgz)
- simulation d'algorithme de surcharge de Dul et Maslia (rapport et jar)
- (installation de java 1.2)
- surcharge en Haskell, testez les exemples du cours en ghc (ghc) : compilation en ligna
- détermination des projets de chaque groupe (voir rubrique Examens)
- 3ème cours : typage objet en Ocaml (PDF) - cours 8 et 9 de mpil 2012/2013 et chapitre 15 de DA-OC).
- Ajout des traits impératifs à un typeur (cf lien), avec détection des expressions expansives.
- Adapter le texte du partiel de novembre 2012 de LI314 (cf lien) sur un visiteur paramétré en OCaml
(questions 1 à 4).
- Adapter en Java l'exemple des points avec méthodes binaires du cours
.
- 2eme cours : lambda-calcul simplement typé
et typage d'un mini-ML fonctionnel et impératif (PDF)
-
typeur en OCAML ou typeur en F# (nouvelle version du 02.10.12).
(cours MPIL de L3
, environnements : OCaml (Tuareg, Ocaide), F# (Visual studio sous Windows ou mono)
)
-
test d'un typeur (cf lien) d'un mini-ML ou implantation du typeur en Scala
- ajout des traits impératifs à un typeur (cf lien).
- environnements en ligne :
- try ocaml : suivre le lien
- try F# : suivre le lien
- 1er cours : lambda-calcul pur (transparents : PDF, poly : PDF)
-
Environnement
- Exercices
- réduire les termes indiqués sur la page du serveur php
- lire la page sur "Alligator Eggs"
- question 1.2 (examen 18/11/08)
- question 1 (examen 16/11/09)
Environnement de travail
Équipe pédagogique
L'équipe pédagogique est ainsi constituée:
Emmanuel Chailloux, Romain Demangeon, Bruno Lesueur, Gérard Nowak, Jérémie Salvucci. Pour envoyer un courrier à l'équipe pédagogique, cliquez ici.
Examens et notation
L'évaluation de ce module comprend :
- examen écrit :
sujet 2007, sujet 2008, sujet 2009
- une étude sur un article ou une mini-réalisation
à choisir dans
cette
liste (version du 04/10/2013)
répartition au 10/10/13,
avec modifications au 17/10/13.
- exemples de rapports 2011 : Bennater-Couillec, Deharbe-Salvucci
- CLIQUEZ ICI pour soumettre avant le jeudi 24/10/13 matin (avant 8h)
et ICI pour soumettre les transparents de votre exposé avant le dimanche 27/10/13 matin (avant 8h).
- planning des soutenances : soutenances.txt (version du vendredi 25/10/13 - 10h)
pensez à: envoyer le fichier PDF de votre présentation : vous avez 10 minutes de pré:sentation + 5 minutes de questions
Bibliographie
- sur le lambda-calcul
- Hindley and Seldin. Introduction to Lambda-Calculus and combinators Cambridge University Press, 1986.
- Chantal Berline. une introduction au lambda-calcul, cours au dea
de logique, 2001-2002 (cf lien).
- Sur les systèmes de types
-
Benjamin Pierce. Types and Programming Languages. The MIT Press.
- sur le typage de ML
- sur le typage Objet :
- sur les generics en Java :
- sur OCaml
Xavier Leroy et al.
The Objective Caml system : documentation and user's manual
(cf lien)
Emmanuel Chailloux, Pascal Manoury et Bruno Pagano.
Développement d'Applications avec Objective Caml.
O'Reilly, 2000 (cf lien)
Guy Cousineau et Michel Mauny.
Approche fonctionnelle de la programmation.
Dunod, 1995
(cf lien1
et lien2).
Pierre Weis et Xavier Leroy.
Le langage Caml
Dunod, 1999.
Philippe Nardel. Programmation fonctionnelle, générique et objet : Une introduction avec le langage Ocaml. Vuibert 2005
- Pascal Manoury.Programmation de gauche à droite, et vice-versa, Paracamplus 2012.
Autres liens
Remarques?
dernière modification : 10/01/2014