Mixin modules in a call-by-value setting

Abstract : The ML module system provides powerful parameterization facilities, but lacks the ability to split mutually recursive definitions across modules, and does not provide enough facilities for incremental programming. A promising approach to solve these issues is Ancona and Zucca's mixin modules calculus CMS. However, the straightforward way to adapt it to ML fails, because it allows arbitrary recursive definitions to appear at any time, which ML does not support.In this paper, we enrich CMS with a refined type system that controls recursive definitions through the use of dependency graphs. We then develop and prove sound a separate compilation scheme, directed by dependency graphs, that translates mixin modules down to a CBV lambda-calculus extended with a non-standard letrec construct.
Document type :
Conference papers
Liste complète des métadonnées

Cited literature [21 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/hal-00310119
Contributor : Tom Hirschowitz <>
Submitted on : Friday, August 8, 2008 - 8:59:54 AM
Last modification on : Friday, May 25, 2018 - 12:02:07 PM
Document(s) archivé(s) le : Thursday, June 3, 2010 - 6:04:21 PM

File

mixins-cbv-esop2002.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

Tom Hirschowitz, Xavier Leroy. Mixin modules in a call-by-value setting. European Symposium on Programming, 2002, Grenoble, France. pp.207-236, ⟨10.1007/3-540-45927-8⟩. ⟨hal-00310119⟩

Share

Metrics

Record views

404

Files downloads

178