What is a recursive module?

Citation
K. Crary et al., What is a recursive module?, ACM SIGPL N, 34(5), 1999, pp. 50-63
Citations number
23
Categorie Soggetti
Computer Science & Engineering
Journal title
ACM SIGPLAN NOTICES
ISSN journal
15232867 → ACNP
Volume
34
Issue
5
Year of publication
1999
Pages
50 - 63
Database
ISI
SICI code
1523-2867(199905)34:5<50:WIARM>2.0.ZU;2-I
Abstract
A hierarchical module system is an effective tool for structuring large pro grams. Strictly hierarchical module systems impose an acyclic ordering on i mport 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 t o one another, nor how one might integrate them into an expressive module s ystem 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 f or higher-order module systems. We extend this calculus with a recursive mo dule 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 con structs. This interpretation may also serve as a guide for implementation.