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

Abstract : This thesis explains how the adjunction of three features to System Fω allows writing programs in a modular way in an explicit system à la Church, while keeping a style that is similar to ML modules. The first chapter focuses on open existential types, which provide a way to consider existential types without scope restrictions: they permit to organize programs in a more flexible manner. The second chapter is devoted to the study of singleton kinds, which model type definitions: in this framework, we give a simple characterization of type equivalence, that is based on a confluent and strongly normalizing reduction relation. The last chapter integrates the two previous notions into a core language equipped with a subtyping relation: it greatly improves the modularity of Fω to a level that is comparable with the flexibility of ML modules. A translation from modules to this core language is defined, and is used to precisely compare the two languages.
Document type :
Theses
Programming Languages. Ecole Polytechnique X, 2010. English


https://pastel.archives-ouvertes.fr/tel-00550331
Contributor : Benoît Montagu <>
Submitted on : Monday, December 27, 2010 - 9:34:20 AM
Last modification on : Friday, March 27, 2015 - 4:02:23 PM

Identifiers

  • 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. Ecole Polytechnique X, 2010. English. <tel-00550331>

Export

Share

Metrics

Consultation de
la notice

473

Téléchargement du document

84