ACM Home Page
Please provide us with feedback. Feedback
Mixin' up the ML module system
Full text PdfPdf (308 KB)
Source
International Conference on Functional Programming archive
Proceeding of the 13th ACM SIGPLAN international conference on Functional programming table of contents
Victoria, BC, Canada
SESSION: Session 13 table of contents
Pages 307-320  
Year of Publication: 2008
ISBN:978-1-59593-919-7
Also published in ...
Authors
Derek Dreyer  Max Planck Institute for Software Systems (MPI-SWS), Saarbrücken, Germany
Andreas Rossberg  Max Planck Institute for Software Systems (MPI-SWS), Saarbrücken, Germany
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 61,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1411204.1411248
What is a DOI?

ABSTRACT

ML modules provide hierarchical namespace management, as well as fine-grained control over the propagation of type information, but they do not allow modules to be broken up into mutually recursive, separately compilable components. Mixin modules facilitate recursive linking of separately compiled components, but they are not hierarchically composable and typically do not support type abstraction. We synthesize the complementary advantages of these two mechanisms in a novel module system design we call MixML.

A MixML module is like an ML structure in which some of the components are specified but not defined. In other words, it unifies the ML structure and signature languages into one. MixML seamlessly integrates hierarchical composition, translucent MLstyle data abstraction, and mixin-style recursive linking. Moreover, the design of MixML is clean and minimalist; it emphasizes how all the salient, semantically interesting features of the ML module system (as well as several proposed extensions to it) can be understood simply as stylized uses of a small set of orthogonal underlying constructs, with mixin composition playing a central role.


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
D. Ancona, S. Fagorzi, E. Moggi, and E. Zucca. Mixin modules and computational effects. In ICALP '03.
 
2
 
3
4
 
5
Gilad Bracha and Gary Lindstrom. Modularity meets inheritance. In ICCL '92.
6
7
8
 
9
10
 
11
Derek Dreyer and Andreas Rossberg. MixML (project website). http://www.mpi-sws.mpg.de/~rossberg/mixml/.
12
 
13
Dominic Duggan and Constantinos Sourelis. Mixin modules. In ICFP '96.
14
15
 
16
17
18
19
20
 
21
 
22
Xavier Leroy. A proposal for recursive modules in Objective Caml, 2003. http://caml.inria.fr/pub/papers/xleroy-recursive_modules-03.pdf.
23
 
24
25
26
27
 
28
M. Odersky, V. Cremet, C. Röckl, and M. Zenger. A nominal theory of objects with dependent types. In ECOOP '03.
29
30
31
32
33

Collaborative Colleagues:
Derek Dreyer: colleagues
Andreas Rossberg: colleagues