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
  • Get Citation Alerts
  • 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)77
    • Downloads (Last 6 weeks)20
    Reflects downloads up to 11 Aug 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