Newsgroups: fr.announce.seminaires Distribution: fr From: Didier.Remy@inria.COUPER-MOI.fr Organization: INRIA-Rocquencourt Subject: SEM - INRIA : Cristal - 15/1/99 - Paris - FR http://pauillac.inria.fr/bin/calendar/Seminaires S E M I N A I R E ____ ____ ___ / _ _ / __ __ /_ _ / / | _ __ _ / / \ / \ ___ / / | / /_ / __| / ___ /___/ __| / | __| |___ |_/ |_/ |____ / / __/ |_ |_/ |_ / |_/ / |_/ / / I N R I A - Rocquencourt, Salle de conference du Bat 11 Vendredi 15 janvier, 10h30 -------------- Alexandre Frey -------------- ================================================ Pratique de la reconstruction de types en ML-sub ================================================ ML-sub (Bourdoncle & Merz, POPL'97) est un système de types avec sous-typage conçu pour un langage fonctionnel explicitement typé avec objets et multi-méthodes. Dans cet exposé, je présenterai un algorithme d'inférence de types pour ML-sub. Cet algorithme infère des types polymorphes contraints, i.e des schémas de types ML qui viennent avec une contrainte de sous-typage. Comme dans tous les systèmes avec sous-typage, ces types deviennent vite très gros si on ne les simplifie pas. Je montrerai qu'en ML-sub, il existe une simplification complète, qui produit une représentation canonique des types et qu'on peut implémenter efficacement. Comme en ML, toute expression a donc un type principal, minimal pour le sous-typage mais aussi syntaxiquement unique. Je parlerai ensuite du mélange de l'inférence de types et de la récursion polymorphe explicitement typée, nécessaire pour typer les multi-méthodes et les modules. D'un point de vue pratique, je présenterai le langage Jazz qui implémente ces algorithmes et intègre donc objets, multi-méthodes, ordre supérieur et inférence de types. Jazz est actuellement utilisé en enseignement comme langage de description de circuits. Je finirai en discutant des problèmes pratiques soulevés lors de l'implémentation et de l'utilisation du langage, notamment en matière de performance et de diagnostic d'erreurs de typage. Pointeur -------- http://cma.ensmp.fr/jazz/