ACM Home Page
Please provide us with feedback. Feedback
A type-theoretic approach to higher-order modules with sharing
Full text PdfPdf (1.38 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Portland, Oregon, United States
Pages: 123 - 137  
Year of Publication: 1994
ISBN:0-89791-636-0
Authors
Robert Harper  School of Computer Science, Carnegie Mellon University, Pittsburgh, PA
Mark Lillibridge  School of Computer Science, Carnegie Mellon University, Pittsburgh, PA
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 38,   Citation Count: 77
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/174675.176927
What is a DOI?

ABSTRACT

The design of a module system for constructing and maintaining large programs is a difficult task that raises a number of theoretical and practical issues. A fundamental issue is the management of the flow of information between program units at compile time via the notion of an interface. Experience has shown that fully opaque interfaces are awkward to use in practice since too much information is hidden, and that fully transparent interfaces lead to excessive interdependencies, creating problems for maintenance and separate compilation. The “sharing” specifications of Standard ML address this issue by allowing the programmer to specify equational relationships between types in separated modules, but are not expressive enough to allow the programmer complete control over the propagation of type information between modules. These problems are addressed from a type-theoretic viewpoint by considering a calculus based on Girard's system F&ohgr;. The calculus differs form those considered in previous studies by relying exclusively on a new form of weak sum type to propagate information at compile-time, in contrast to approaches based on strong sums which rely on substitution. The new form of sum type allows for the specification of equational, as well as type and kind, information in interfaces. This provides complete control over the propagation of compile-time information between program units and is sufficient to encode in a straightforward way most users of type sharing specifications in Standard ML. Modules are treated as “first-class” citizens, and therefore the system supports higher-order modules and some object-oriented programming idioms; the language may be easily restricted to “second-class” modules found in ML-like languages.


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
Andrew W. Appel and David B. MacQueen. Standard ML of New Jersey. In J. Maluszynski and M. Wirsing, editors, Third lnt'l Syrup. on Prog. Lang. implementation and Logic Programming, pages 1-13, New York, August 1991. Springer-Verlag.
 
3
 
4
 
5
 
6
 
7
Luca Cardelli. Typeful programming. Technical Report 45, DEC SRC, 1989.
 
8
Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, and Greg Nelson. Modula-3 report (revised). Technical Report 52, DEC Systems Research Center, Palo Alto, CA, November 1989.
9
 
10
Luca Cardelli and Leroy Xavier. Abstract types and the dot notation. Technical Report 56, DEC SRC, Palo Alto, CA, March 1990.
 
11
Eric Cooper, Robert Harper, and Peter Lee. The Fox project: Advanced development of systems software. Technical Report CMU-CS-91-178, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, August 1991.
 
12
Nicolas G. de Bruijn. A survey of the project AU- TOMATH. In J. P. Seldin and J. R. Hindley, editors, To H. B. Curry: Essays in Combinatory Logic, Lambda Calculus and Formalism, pages 589-606. Academic Press, 1980.
 
13
Emden Gansner and John Reppy. eXene. In Robert Harper, editor, Third international Workshop on Standard ML, Pittsburgh, PA, September 1991. School of Computer Science, Carnegie Mellon University.
 
14
Jean-Yves Girard. interprgtation Fonctionnelle et Elimination des Coupures dans l'Arithmgtique d'Ordre Supdrieure. PhD thesis, Universitfi Paris VII, 1972.
 
15
Robert Harper. Introduction to Standard ML. Technical Report ECS-LFCS-86-14, Laboratory for the Foundations of Computer Science, Edinburgh University, September 1986.
16
 
17
Robert Harper, David MacQueen, and Robin Milner. Standard ML. Technical Report ECS-LFCS-86-2, Laboratory for the Foundations of Computer Science, Edinburgh University, March 1986.
 
18
Robert Harper, David MacQueen, and Robin Milner. Standard ML. Technical Report ECS-LFCS-86-2, Laboratory for the Foundations of Computer Science, Edinburgh University, March 1986.
19
20
 
21
 
22
23
 
24
 
25
Zhaolui Luo, Robert Pollack, and Paul Taylor. How to use Lego: A preliminary user's manual. Technical Report LFCS-TN-27, Laboratory for the Foundations of Computer Science, Edinburgh University, October 1989.
26
27
28
 
29
Per Martin-LSf. Constructive mathematics and computer programming, in Sixth International Congress for Logic, Methodology, and Philosophy of Science, pages 153-175. North-Holland, 1982.
 
30
David C. J. Matthews. POLY report. Technical Report 28, Computer Laboratory, University of Cambridge, 1982.
 
31
 
32
33
34
35
 
36
37
 
38
 
39
 
40
Nick Rothwell. Functional compilation from the Standard ML core language to lambda calculus. Technical Report ECS-LFCS-92-235, Laboratory for the Foundations of Computer Science, Edinburgh University, Edinburgh, Scotland, September 1992.
 
41
Nick Rothwell. Miscellaneous design issues in the ML kit. Technical Report ECS-LFCS-92-237, Laborator) for the Foundations of Computer Science, Edinburg~ University, Edinburgh, Scotland, September 1992.
42
43
 
44
Mads ToRe. Type abbreviations in signatures. Unpublished manuscript, August 1993.
 
45
Diedrik T. van Daalen. The Language Theory of A U- TOMATH. PhD thesis, Technical University of Eindhoven, Eindhoven, Netherlands, 1980.
 
46

CITED BY  77

Collaborative Colleagues:
Robert Harper: colleagues
Mark Lillibridge: colleagues