Programming with first-class modules in a core language with subtyping, singleton kinds and open existential types

Résumé : Cette thèse décrit comment l'ajout de trois ingrédients à Système Fω permet d'écrire des programmes de façon modulaire dans un système explicite à la Church, tout en gardant un style proche des modules de ML. Le premier chapitre s'intéresse aux types existentiels ouverts, qui confèrent la possibilité d'utiliser des types existentiels sans restriction de portée : cela offre une plus grande flexibilité dans l'organisation des programmes. Le deuxième chapitre est consacré à l'étude des kinds singletons, qui modélisent les définitions de types : dans ce cadre, on donne une caractérisation simple de l'équivalence de types, fondée sur une relation de réduction confluente et fortement normalisante. Le dernier chapitre intègre les deux notions précédentes dans un langage noyau muni d'une relation de sous-typage : cela apporte à Fω un gain de modularité important, de niveau comparable à celui des modules de ML. Une traduction des modules vers ce langage est esquissée, permettant une comparaison précise des deux langages.
Type de document :
Thèse
Programming Languages [cs.PL]. Ecole Polytechnique X, 2010. English


https://pastel.archives-ouvertes.fr/tel-00550331
Contributeur : Benoît Montagu <>
Soumis le : lundi 27 décembre 2010 - 09:34:20
Dernière modification le : jeudi 8 octobre 2015 - 01:03:58
Document(s) archivé(s) le : lundi 28 mars 2011 - 02:31:16

Identifiants

  • HAL Id : tel-00550331, version 1

Collections

Citation

Benoît Montagu. Programming with first-class modules in a core language with subtyping, singleton kinds and open existential types. Programming Languages [cs.PL]. Ecole Polytechnique X, 2010. English. <tel-00550331>

Exporter

Partager

Métriques

Consultations de
la notice

697

Téléchargements du document

199