Cours
Pour suivre le cours INF121 il est utile de relire le polycopié « Langage mathématique» de l'UE MAT100.

Nous allons réutiliser les notations mathématiques présentées en MAT100, MAT111, MAT112, MAT113 : assertions, logique, ensemble, récurrence, relations, ...
  1. Types, Expressions, Fonctions et constructions du langages ocaml
    Chapître 1. Les types de base

    Chapître 2. Définition de types plus complexes

    Chapître 3. Les constructions du langage caml

    Chapître 4. Définition de fonctions

    Applications directes: TD1

    Compléments de cours: DM1, DM2, DM3

    Approfondissement: livret d'exercices
  2. Récursivité
    Chapître 5. Fonctions récursives, terminaison

    Chapître 6. Ensembles définis récursivement et types récursifs

    Applications directes et compléments de cours: DM4+DM5, DM6+DM8

    Approfondissement: livret d'exercices
  3. Structures récursives arborescentes et généralisation aux types récursifs quelconques
    Applications directes et compléments de cours: DM7+DM9

    Approfondissement: livret d'exercices
  4. Introduction à la théorie des langages fonctionnels

    • types et ensembles définis récursivement, schéma de preuve par récurrence associé
      Applications directes: voir DM8 + DM9
    • unification et inférence de types
      Applications directes: voir projet
    • fonction curryfiée
      Applications directes: DM10
    • fonction d'ordre supérieur : map, fold, exist, forall
      Applications directes: DM11
    • modèle de calcul sous-jacent: lambda calcul et beta-réduction
      Applications directes: DM12
Les transparents du cours sont accessibles ici
Responsables INF121 : Michaël PÉRIN, François PUITG