Retour accueil UPMCPhoto1 UPMCPhoto2 UPMC
UE: Modèles de programmation séquentielle en Objective Caml
Site permanent

L'unité d'enseignement « Modèles de programmation séquentielle en Objective Caml » est une UE de niveau (300) spécialisation relevant de la licence d'informatique. Elle possède un volume de 6 ECTS et s'étend sur 12 semaines. Elle est placée sous la responsabilité de Chailloux, emmanuel.

Description

Ce module présente les principaux modèles de programmation séquentielle (fonctionnel, impératif, objets) dans le cadre confortable du typage statique d'Objective Caml.

La réutilisabilité de composants logiciels est explorée d'une part du point de vue du typage (polymorphisme paramétré et objet) et d'autre part du point de vue structures (classes, modules simples et paramétrés). Enfin l'interopérabilité avec des composants issus d'autres langages est illustrée en s'interfaçant avec C.


- noyau fonctionnel et polymorphisme paramétrique

- traits impératifs

- valeurs mutables fonctionnelles

- objets et polymorphisme objet

- modules paramétrés et types abstraits de données

- réutilisabilité : comparaison classes et modules paramétrés

- interfaçage avec C et interopérabilité

Préalables et buts pédagogiques

Bibliographie

  • Xavier Leroy et al. The Objective Caml system : documentation and user's manual (cf. )

  • Emmanuel Chailloux, Pascal Manoury et Bruno Pagano. Développement d'Applications avec Objective Caml. O'Reilly, 1995 (cf. )

  • Guy Cousineau et Michel Mauny. Approche fonctionnelle de la programmation. Dunod, 1995.

  • Pierre Weis et Xavier Leroy. Le langage Caml Dunod, 1999.

Contenu indicatif par semaine

  1. Noyau fonctionnel I : valeurs, fonctions, types de base, expressions fonctionnelles

  2. Noyau fonctionnel II : déclarations de types et filtrage de motifs

  3. Exceptions : déclenchement, récupération et style de programmation

  4. Traits impératifs : valeurs physiquement modifiables et structures de contrôle

  5. Modules simples : séparation interface et implantation, compilation séparée, types abstraits de données

  6. Modèle mémoire : copie et partage, récupérateur automatique de mémoire

  7. Interface avec C : appels externes, passage d'arguments, GC, callbacks, exceptions

  8. Environnement de développement : bibliothèques, interface graphique et outils

  9. Objet I : classes, instances, héritage, liaison tardive

  10. Objet II : sous-typage et polymorphisme objet

  11. Typage et inférence de types

  12. Réutilisabilité : extension des données et des traitements (modules paramétrés, objets et variants)

Annales

Les annales de cette UE sont ici.