Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Units: cool modules for HOT languages

Published: 01 May 1998 Publication History

Abstract

A module system ought to enable assembly-line programming using separate compilation and an expressive linking language. Separate compilation allows programmers to develop parts of a program independently. A linking language gives programmers precise control over the assembly of parts into a whole. This paper presents models of program units, MzScheme's module language for assembly-line programming. Units support separate compilation, independent module reuse, cyclic dependencies, hierarchical structuring, and dynamic linking. The models explain how to integrate units with untyped and typed languages such as Scheme and ML.

References

[1]
BARNES, J. G. P. Programming in Ads 95. Addison- Wesley, 1996.
[2]
BISWAS, S. K. Higher-order functors with transparent signatures. In Proc. A CM Symposium on Principles of Programming Languages (1995), pp. 154-163.
[3]
CARDELLI, L. Program fragments, linking, and modularization. In Proc. A UM Symposium on Principles of Programming Languages (1997), pp. 266-277.
[4]
CURTIS, P., AND RAUEN, J. A module system for Scheme. In Proc. A CM Conference on Lisp and Functional Programming (1990), pp. 13-28.
[5]
DUGGAN, D., AND Som~gLm, C. Mixin modules. In Proc. A UM International Conference on Functional Programming (1996), pp. 262-273.
[6]
FELLEISEN, M., AND HIBB, R. The revised report on the syntactic theories of sequential control and state. Tech. Rep. 100, Rice University, June 1989. Theoretical Computer Science, volume 102, 1992, pp. 235-271.
[7]
FINDLEa, R. B., FLANAGAN, C., FLATT, M., KaisH- NAMURTHi, S., AND FELLEISEN, M. DrScheme: A pedagogic programming environment for Scheme. In Proc. international Symposium on Programming Languages: Implementations, Logics, and Programs (1997), pp. 369-388.
[8]
FLATT, M. PLT MzScheme: Language manual. Tech. Rep. TR97-280, Rice University, 1997.
[9]
FLATT, M., KRISHNAMURTHI, S., AND FELLEISEN, M. Classes and mixins. In Proc. A CM Symposium on Principles of Programming Languages (1998), pp. 171-183.
[10]
GOSLING, J., JoY, B., AND STEELE, G. The Java Language Specification. The Java Series. Addison-Wesley, Reading, MA, USA, June 1996.
[11]
HARBISON, S. P. Modula-3. Prentice Hall, 1991.
[12]
HARPER, R., AND LILLIBRrDGE, M. A type-theoretic approach to higher-order modules with sharing. In Proc. A CM Symposium on Principles of Programming Languages (1994), pp. 123-137.
[13]
HARPER, R., MITCHELL, j., AND MOGGI, E. Higherorder modules and the phase distinction. In Proc. A CM Symposium on Principles of Programming Languages (1990), pp. 341-354.
[14]
HAstEn, R., AND STONE, C. A type4heoretic semantics for Standard ML 1996. Submitted for publication, 1997.
[15]
HUDAK, P., AND WADLER, P. (EDS.). Report on the programming language Haskell. Tech. Rep. YALE/DCS/RR777, Yale University, Department of Computer Science, Aug. 1991.
[16]
JAGANNATHAN, S. Metalevel building blocks for modular systems. A CM Transactions on Programming Languages and Systems 16, 3 (May 1994), 456-492.
[17]
KELSE~, R. A. Fully-parameterized modules or the missing link. Tech. Rep. 97-3, NEC Research Institute, 1997.
[18]
LEE, SHINN-DER AND DANIEL P. FRIEDMAN. Quasistatic scoping: Sharing variable bindings across multiple lexical scopes. In Proc. A CM Symposium on Principles of Programming Languages (1993), pp. 479-492.
[19]
LEROY, X. Unboxed objects and polymorphic typing. In Proc. A CM Symposium on Principles of Programming Languages (1992), pp. 177-188.
[20]
LEROY, X. Manifest types, modules, and separate compilation. In Proc. A CM Symposium on Principles of Programming Languages (1994), pp. 109-122.
[21]
LEROY, X. Applicative functions and fully transparent higher-order modules. In Proc. A CM Symposium on Principles of Programming Languages (1995), pp. 142- 153.
[22]
MACQUEEN, D. Modules for Standard ML. In Proc. A CM Conference on Lisp and Functional Programming (1984), pp. 198-207.
[23]
MACQUEEN, D. B., AND TOFTr~, M. A semantics for higher-order functors. In European Symposium on Programming (Apr. 1994), Springer-Verlag, LNCS 788, pp. 409-423.
[24]
MiLNER, R., TOFTE, M., AND HARPER, R. The Definition of Standard ML. The MIT Press, Cambridge, Massachusetts and London, England, 1990.
[25]
RICE UNWr. RSlTY P LT. DrScheme. URL: www. cs. rico. edu/CS/PLT/packages/drscheme/.
[26]
SARASWAT, V. Java is not type-safe, Aug. 1997. URL: www. research, att. cora/~vj/bug, html.
[27]
SUNSOFT. SunOS 5.5 Linker and Libraries Manual, 1996.
[28]
TARDITI, D., MORRISETT, G., CHENG, P., STONE, C., HARPER, R., AND LEE, P. TiL: A type-directed optimizing compiler for ML. In Proc. ACM Conference on Programming Language Design and Implementation (1996), pp. 181-192.
[29]
TORTE, M. Principal signatures for higher-order program modules. In Proc. A CM Symposium on Principles of Programming Languages (1992), pp. 189-199.
[30]
WroTH, N. Programming in Modula-~. Springer-Verlag, 1983.
[31]
WRIGHT, A., AND FELLEiSEN, M. A syntactic approach to type soundness. Tech. Rep. 160, Rice University, 1991. Information and Computation, volume 115(1), 1994, pp. 38-94.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 33, Issue 5
May 1998
358 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/277652
Issue’s Table of Contents
  • cover image ACM Conferences
    PLDI '98: Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
    May 1998
    357 pages
    ISBN:0897919874
    DOI:10.1145/277650
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 1998
Published in SIGPLAN Volume 33, Issue 5

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)98
  • Downloads (Last 6 weeks)22
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Logical Relations as Types: Proof-Relevant Parametricity for Program ModulesJournal of the ACM10.1145/347483468:6(1-47)Online publication date: 5-Oct-2021
  • (2012)EngageACM SIGPLAN Notices10.1145/2345156.225409647:6(263-274)Online publication date: 11-Jun-2012
  • (2009)Toward a Practical Module System for ACL2Proceedings of the 11th International Symposium on Practical Aspects of Declarative Languages10.1007/978-3-540-92995-6_4(46-60)Online publication date: 10-Jan-2009
  • (2008)The RunaboutSoftware: Practice and Experience10.1002/spe.87838:14(1531-1560)Online publication date: 22-May-2008
  • (2007)Component nextgenACM SIGPLAN Notices10.1145/1297105.129703942:10(153-170)Online publication date: 21-Oct-2007
  • (2007)Component nextgenProceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems, languages and applications10.1145/1297027.1297039(153-170)Online publication date: 21-Oct-2007
  • (2007)Implementation and use of the PLT scheme Web serverHigher-Order and Symbolic Computation10.1007/s10990-007-9008-y20:4(431-460)Online publication date: 1-Dec-2007
  • (2006)MultiJavaACM Transactions on Programming Languages and Systems10.1145/1133651.113365528:3(517-575)Online publication date: 1-May-2006
  • (2005)TinyOS: An Operating System for Sensor NetworksAmbient Intelligence10.1007/3-540-27139-2_7(115-148)Online publication date: 2005
  • (2005)Bossa novaProceedings of the 4th international conference on Generative Programming and Component Engineering10.1007/11561347_7(78-93)Online publication date: 29-Sep-2005
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media