HAL will be down for maintenance from Friday, June 10 at 4pm through Monday, June 13 at 9am. More information
Skip to Main content Skip to Navigation
Theses

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
Complete list of metadata

Cited literature [91 references]  Display  Hide  Download

https://pastel.archives-ouvertes.fr/tel-00550331
Contributor : Benoît Montagu Connect in order to contact the contributor
Submitted on : Monday, December 27, 2010 - 9:34:20 AM
Last modification on : Friday, February 4, 2022 - 3:10:14 AM
Long-term archiving on: : Monday, March 28, 2011 - 2:31:16 AM

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 [cs.PL]. Ecole Polytechnique X, 2010. English. ⟨tel-00550331⟩

Share

Metrics

Record views

989

Files downloads

453