IFT783 - Implantation des langages de programmation

programmes offrant cette activité pédagogique (cours)

Doctorat en informatique

Maîtrise en informatique

Sommaire

Cycle
2e cycle
Crédits
3 crédits
Durée
1 trimestre
Faculté/Centre
Faculté des sciences
Répartition de la charge de travail
3-0-6
Cible(s) de formation

Se familiariser avec la compilation par réduction de graphe des langages fonctionnels types et des langages fonctionnels à objets; être capable de réécrire en lambda-calcul des expressions d'un langage fonctionnel, d'écrire un vérificateur de type, d'appliquer des méthodes d'optimisation à la réduction de graphe et enfin d'utiliser correctement ces concepts lors d'une implantation d'extensions objets.

Contenu

Compilation : lambda-calcul, sémantique opérationnelle, réduction, sémantique notationnelle. Traduction d'un langage fonctionnel en lambda-calcul, schémas TE, TD. Types structurés et sémantique du filtrage. Compilation du filtrage. Réécriture des abstractions lambda de filtrage. Listes en compréhension. Contrôle de types polymorphes. Vérificateur de type. Réduction de graphe : représentation de programme. Sélection du redex suivant. Réduction du graphe d'une expression lambda. Supercombinateurs, supercombinateurs récursifs. Évaluation totalement paresseuse, combinateurs SK. Machine G. Optimisation. Analyse d'exactitude. Réduction parallèle de graphe. Implantation d'extensions objets : ObjVLisp, Loops.