|
ABSTRACT
Writing any large program poses difficult problems of organization. In many modern programming languages these problems are addressed by special linguistic constructs, variously known as modules, packages, or clusters, which provide for partitioning programs into manageable components and for securely combining these components to form complete programs. Some general purpose components are able to take on a life of their own, being separately compiled and stored in libraries of generic, reusable program units. Usually modularity constructs also support some form of information hiding, such as "abstract data types." "Programming in the large" is concerned with using such constructs to impose structure on large programs, in contrast to "programming in the small", which deals with the detailed implementation of algorithms in terms of data structures and control constructs. Our goal here is to examine some of the proposed linguistic notions with respect to how they meet the pragmatic requirements of programming in the large.
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
|
{Bur84} R. M. Burstall, <i>Programming with modules as typed functional programming,</i> Int'l Conf. on 5th Generation Computing Systems, Tokyo, Nov. 1984.
|
| |
5
|
{Car85} L. Cardelli, <i>The impredicative typed λ-calculus,</i> unpublished manuscript, 1985.
|
| |
6
|
{CF58} H. B. Curry and R. Feys, <b>Combinatory Logic I,</b> North-Holland, 1958.
|
| |
7
|
{CH85} T. Coquand and G. Huet, <i>A calculus of constructions,</i> Information and Control, to appear.
|
| |
8
|
|
| |
9
|
{CW85} L. Cardelli and P. Wegner. <i>On understanding types, data abstraction, and polymorphism.</i> Technical Report No. CS-85-14, Brown University, August 1985.
|
 |
10
|
|
| |
11
|
{dcB80} N. G. de Bruijn. <i>A survey of project AUTOMATH,</i> in To H. B. Curry: Essays on Combinatory Logic, Lambda-Calculus and Formalism, Academic Press, 1980, pp. 579--607.
|
 |
12
|
|
| |
13
|
{Gir71} J. Y. Girard, <i>Une extension de l'interpretation de Gödel à l'analyse, et son application à l'élimination des coupures dans l'analyse et la théorie des types,</i> in Second Scandinavian Logic Symposium, J. E. Fenstad, Ed., North-Holland, 1971, pp. 63--92.
|
| |
14
|
|
| |
15
|
{How80} W. Howard, <i>The formulas-as-types notion of construction,</i> in To H. B. Curry: Essays on Combinatory Logic, Lambda-Calculus and Formalism, Academic Press, 1980, pp. 476--490. (written 1969)
|
| |
16
|
{Mac85} D. B. MacQueen, <i>Modules for Standard ML (Revised),</i> Polymorphism Newsletter, ll, 2, Oct 1985.
|
| |
17
|
|
| |
18
|
{M-L71} P. Martin-Löf, <i>A theory of types,</i> unpublished manuscript, October 1971.
|
| |
19
|
{M-L74} P. Martin-Löf, <i>An intuitionistic theory of types: predicative part,</i> Logic Colloquium 73, H. Rose and J. Shepherdson, Eds., North-Holland, 1974, pp. 73--118.
|
| |
20
|
{M-L82} P. Martin-Löf, <i>Constructive mathematics and computer programming,</i> in <b>Logic, Methodology and Philosophy of Science, VI.</b> North-Holland, Amsterdam, 1982, pp. 153--175.
|
 |
21
|
|
| |
22
|
{MIL78} R. Milner, <i>A theory of type polymorphism in programming,</i> JCSS, 17, 3, Dec 1978, pp. 348--375.
|
 |
23
|
|
 |
24
|
|
| |
25
|
|
| |
26
|
{Sco70} D. Scott, <i>Constructive Validity,</i> in Symposium on Automatic Demonstration, Lecture Notes in Math., Vol 125, Springer-Verlag, 1970, pp. 237--275.
|
CITED BY 35
|
|
|
|
|
|
|
|
|
|
|
Xavier Leroy, Manifest types, modules, and separate compilation, Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.109-122, January 16-19, 1994, Portland, Oregon, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
John Mitchell , Sigurd Meldal , Neel Madhav, An extension of standard ML modules with subtyping and inheritance, Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.270-278, January 21-23, 1991, Orlando, Florida, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dinesh Katiyar , David Luckham , John Mitchell, A type system for prototyping languages, Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.138-150, January 16-19, 1994, Portland, Oregon, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|