previous up next top index
Précédent : Transformations de programmes Sisal Remonter : Environnements de programmation Suivant : Environnement pour Klone sous Centaur


Environnement de programmation pour le langage ML

Participants : Laurence Rideau, Laurent Théry

Mots-clés : environnement de programmation, CRISTAL, explication d'inférence de types, ML, programmation fonctionnelle

Les années précédentes, nous avons entamé le développement d'outils spécialement adaptés au langage ML en développant un éditeur structuré comprenant une interaction sophistiquée avec le vérificateur de type. Cette année, nous avons étendu ce travail aux explications de types.

La relative simplicité du vérificateur de type de CamlLight (langage développé dans le projet CRISTAL) a permis d'entreprendre le développement de variantes du vérificateur de type dédiées à l'utilisation interactive. D'une part, le diagnostic des erreurs de type permet de montrer interactivement les différents endroits du programme intervenant dans l'apparition d'une erreur. D'autre part, lors de l'inférence de types, des informations sont conservées afin de pouvoir ensuite, à la demande, fournir une explication du type d'une expression du programme. Cette explication est affichée dans un langage pseudo-naturel. Elle permet en particulier de montrer dans le programme source les différents endroits du programme qui ont permis d'inférer le type expliqué.

Parallèlement à ce développement, un gros travail a été fait pour augmenter la robustesse de notre environnement afin d'en permettre une utilisation fiable.

Dans l'avenir, ce travail va déboucher sur un environnement de travail pour la programmation en ML. Il doit également permettre de nouvelles expériences pour découvrir des utilisations originales de l'information de type pour l'aide à la construction de programmes.