This is an old, obsolete page: please go to Functional programming and type systems (48h, 6 ECTS) instead.
Responsables : Giuseppe Castagna et Xavier Leroy
Le but de ce cours est de présenter les concepts, principes et formalismes sous-jacents aux langages de programmation modernes. Il constitue une introduction à la recherche contemporaine sur les langages de programmation.
Ce cours aborde un large éventail de paradigmes de programmation: programmation fonctionnelle; programmation impérative; programmation par objets, avec une ouverture vers le traitement des données semi-structurées (XML); programmation par contraintes.
Le cours ne se contente pas de passer en revue des paradigmes de programmation. L'accent est mis sur les propriétés mathématiques des langages de programmation: sémantiques formelles (principalement sous forme de sémantiques opérationnelles), systèmes de types, et propriétés de fiabilité et de sécurité qu'assure le typage statique. Le cours présente les principaux systèmes de typage statique: monomorphe, polymorphe paramétrique, polymorphe par sous-typage, ainsi que les algorithmes de vérification et d'inférence de types associés.
Il est recommandé d'avoir suivi les cours de première année Compilation et Sémantique des langages de programmation. <br />Notions élémentaires de sémantique opérationnelle (avoir déjà vu des règles de réécriture et des règles d'inférence). <br />Expérience de et goût pour la programmation. <br />Notions de Caml et/ou de Java.
G. Castagna | CR | CNRS | LIENS |
F. Pottier | CR | INRIA | Rocquencourt |
F. Fages | DR | INRIA | Rocquencourt |
S. Soliman | CR | INRIA | Rocquencourt |
Date | Cours | Contenu | |
---|---|---|---|
04/10 | FI | cours 1 | |
11/10 | cours 2 | ||
12/10 | cours 3 (ATTENTION exceptionellement un mercredi!) | ||
18/10 | cours 4 | ||
25/10 | cours 5 | ||
01/11 | férié | ||
08/11 | OX | cours 1 | |
15/11 | cours 2 | ||
22/11 | cours 3 | ||
29/11 | cours 4 | ||
06/12 | cours 5 | ||
13/12 | FI+OX | examens | |
20/12 | vacances de Noël | ||
27/12 | |||
03/01 | CO | cours 1 - Introduction, logique, contraintes | |
10/01 | cours 2 - CLP, points fixes | ||
17/01 | cours 3 - CLP, sémantique logique | ||
24/01 | pas de cours | ||
31/01 | CO | cours 4 - CC, sémantique opérationelle, exemples | |
07/02 | cours 5 - CC, sémantique logique linéaire | ||
14/02 | cours 6 - LCC, !SiLCC - Attention! Salle W | ||
21/02 | examen - Attention! Salle W |