| HAL : hal-00310317, version 1 |
| DOI : 10.1145/1086642.1086644 |
| Fiche détaillée | Récupérer au format |
|
|
| ACM Transactions on Programming Languages and Systems 27, 5 (2005) 857 - 881 |
|
|
|
|
| Mixin modules in a call-by-value setting |
|
|
| Tom Hirschowitz 1Xavier Leroy 2 |
|
|
| (2005) |
|
|
| 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 a separate compilation scheme, directed by dependency graphs, that translates mixin modules down to a CBV lambda-calculus extended with a non-standard let rec construct. |
|
|
|
|
|
|
|
|
|
|
| 1 : | Laboratoire de Mathématiques (LAMA) |
| CNRS : UMR5127 – Université de Savoie | |
| 2 : | GALLIUM (INRIA Rocquencourt) |
| INRIA | |
|
|
|
|
|
|
|
|
| Domaine | : | Informatique/Langage de programmation |
|
|
| Mixins – modules – recursion – type systems |
|
|
| Liste des fichiers attachés à ce document : | ||||||||||
|
|
|
| hal-00310317, version 1 | |
| http://hal.archives-ouvertes.fr/hal-00310317 | |
| oai:hal.archives-ouvertes.fr:hal-00310317 | |
| Contributeur : Tom Hirschowitz | |
| Soumis le : Vendredi 8 Août 2008, 15:43:44 | |
| Dernière modification le : Vendredi 8 Août 2008, 18:21:58 | |