ACM Home Page
Please provide us with feedback. Feedback
Mixin modules in a call-by-value setting
Full text PdfPdf (482 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 27 ,  Issue 5  (September 2005) table of contents
Pages: 857 - 881  
Year of Publication: 2005
ISSN:0164-0925
Authors
Tom Hirschowitz  ENS Lyon, Lyon Cedex, France
Xavier Leroy  INRIA Rocquencourt, Le Chesnay, France
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 35,   Citation Count: 1
Additional Information:

appendices and supplements   abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1086642.1086644
What is a DOI?

APPENDICES and SUPPLEMENTS
Online appendix to designing mediation for context-aware applications. The appendix supports the information on page 857.


ABSTRACT

The ML module system provides powerful parameterization facilities, but lacks the ability to split mutually recursive definitions across modules and provides insufficient support for incremental programming. A promising approach to solve these issues is Ancona and Zucca's mixin module 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 otherwise support. In this article, 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 call-by-value λ-calculus extended with a nonstandard let rec construct.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
Ancona, D. 1998. Modular formal frameworks for module systems. Ph.D. dissertation. Universita di Pisa, Pisa, Italy.
 
3
 
4
 
5
Ariola, Z. M. and Blom, S. 2002. Skew confluence and the lambda calculus with letrec. Ann. Pure Appl. Logic 117, 1--3, 95--178.
6
 
7
Bono, V., Bugliesi, M., Dezani-Ciancaglini, M., and Liquori, L. 1999. Subtyping for extensible, incomplete objects. Fund. Info. 38, 4, 325--364.
 
8
 
9
10
11
 
12
 
13
14
15
 
16
Dreyer, D. R., Crary, K., and Harper, R. 2001. Toward a practical type theory for recursive modules. Tech. Rep. CMU-CS-01-112, Carnegie Mellon University.
 
17
Dreyer, D., Harper, R., and Crary, K. 2003. A type system for well founded recursion. Tech. Rep. CMU-CS-03-163, Carnegie Mellon University.
18
19
20
21
22
 
23
Hirschowitz, T. 2003. Modules mixins, modules et récursion étendue en appel par valeur. Ph.D. dissertation. University Paris 7.
24
 
25
Hirschowitz, T., Leroy, X., and Wells, J. B. 2004. Call-by-value mixin modules: Reduction semantics, side effects, types. In Proceedings of the Programming Languages and Systems, 13th European Symposium on Programming, ESOP 2004. Lecture Notes in Computer Science, vol. 2986. Springer-Verlag, Berlin, Germany, 64--78.
26
 
27
Lillibridge, M. 1997. Translucent sums: A foundation for higher-order module systems. Ph.D. dissertation. School of Computer Science, Carnegie Mellon University.
28
29
 
30



REVIEW

"R. Clayton : Reviewer"

Mixins, collections of defined and referenced program entities, may fulfill object-oriented programming's seductive and long-standing promise for flexibly structured and reusable code components. As always, however, mutual recursion causes problem  more...

Collaborative Colleagues:
Tom Hirschowitz: colleagues
Xavier Leroy: colleagues