ACM Home Page
Please provide us with feedback. Feedback
What is a recursive module?
Full text PdfPdf (1.47 MB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation table of contents
Atlanta, Georgia, United States
Pages: 50 - 63  
Year of Publication: 1999
ISBN:1-58113-094-5
Also published in ...
Authors
Karl Crary  Carnegie Mellon University
Robert Harper  Carnegie Mellon University
Sidd Puri  Microsoft Corporation
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 31,   Citation Count: 25
Additional Information:

abstract   references   cited by   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/301618.301641
What is a DOI?

ABSTRACT

A hierarchical module system is an effective tool for structuring large programs. Strictly hierarchical module systems impose an acyclic ordering on import dependencies among program units. This can impede modular programming by forcing mutually-dependent components to be consolidated into a single module. Recently there have been several proposals for module systems that admit cyclic dependencies, but it is not clear how these proposals relate to one another, nor how one might integrate them into an expressive module system such as that of ML.To address this question we provide a type-theoretic analysis of the notion of a recursive module in the context of a "phase-distinction" formalism for higher-order module systems. We extend this calculus with a recursive module mechanism and a new form of signature, called a recursively dependent signature, to support the definition of recursive modules. These extensions are justified by an interpretation in terms of more primitive language constructs. This interpretation may also serve as a guide for implementation.


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
 
3
 
4
Luca Cardelli. Phase distinctions in type theory. Unpublished manuscript.
 
5
Karl Crary, Robert Harper, Perry Cheng, Leaf Petersen, and Chris Stone. Transparent and opaque interpretations of datatypes. Technical Report CMU-CS-98-177, Carnegie Mellon University, School of Computer Science, November 1998.
6
 
7
Dominic Duggan and Constantinos Sourelis. Parameterized modules, recursive modules, and mixin modules, in 1998 A CM SIGPLAN Workshop on ML, pages 87-96, Baltimore, Maryland, September 1998.
8
9
10
11
 
12
13
 
14
Xavier Leroy. The Objective Carol system: Documentation and user's guide. Available at http://pauillac, inria, fr/ocaml/htmlman/., 1996.
15
 
16
 
17
 
18
Zhong Shao. An overview of the FLINT/ML compiler. In Proceedings of the 1997 A CM SIGPLAN Workshop on Types in Compilation, Kyoto, Japan, June 1997.
 
19
Zhong Shao. Equality of recursive types. (Private communication), September 1998.
20
 
21
Emin Giin Sirer, Marc E. Fiucynski, Przemyslaw Pardyak, and Brian N. Bershad. Safe dynamic linking in an extensible operating system. In Workshop on Compiler Support for System Software, Tucson, Arizona, February 1996.
22
23

CITED BY  25

Collaborative Colleagues:
Karl Crary: colleagues
Robert Harper: colleagues
Sidd Puri: colleagues