info452 - Concepts avancés des langages de programmation

-
Credits
- 5
- Prerequisites
- (Licence mention informatique)
- Parcours
- optional for the computer science mention of the master of
science
-
Objectives
- Ce cours se propose de présenter plusieurs concepts originaux
apparaissant dans des langages de programmation modernes s'écartant
des langages les plus répandus.
- Organization
week |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
C (1h30) |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
|
TD (1h30) |
|
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
TP (2h) |
|
|
|
× |
|
× |
|
× |
|
× |
|
× |
|
- Student personal work
- about 50h
- Evaluation
-
-
for UE without Labs :
sup ( Ex, (2Ex + CC)/3)
- for UE with Labs :
(2TP + 3 sup(Ex, (2Ex + CC)/3))/5
- Contents
- La présentation de chaque concept s'appuiera sur un langage
particulier. Ces concepts n'ont pas forcément de liens entre eux et
ne sont pas tous disponibles dans tous les langages abordés. Nous
verrons comment ces concepts sont particulièrement bien adaptés à
certaines classes d'applications et comment ils facilitent leur
écriture.
Le cours est divisé en trois parties correspondant chacune à un
concept, un langage associé et une classe d'applications.
-
Typage statique fort et inférence de type
-
-
Langage support : Objective Caml
- Classe d'applications : manipulations symboliques
- Évaluation paresseuse
-
-
Langage support : Haskell
- Classe d'applications : structures de données
potentiellement infinies
- Paradigme synchrone
-
-
Langage support : Esterel
- Classe d'applications : applications réactives
- Instructor(s)
- Pierre Boulet
fichier source pour édition/modification