Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/277650.277730acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
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
  • (2022)Decomposing convolutional neural networks into reusable and replaceable modulesProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510051(524-535)Online publication date: 21-May-2022
  • (2022)Using Modules to Manage the Content of IEC 61499 Type Libraries2022 IEEE 20th International Conference on Industrial Informatics (INDIN)10.1109/INDIN51773.2022.9976150(286-292)Online publication date: 25-Jul-2022
  • (2020)Semi-supervised Trajectory Understanding with POI Attention for End-to-End Trip RecommendationACM Transactions on Spatial Algorithms and Systems10.1145/33788906:2(1-25)Online publication date: 7-Feb-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 1998

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

PLDI98
Sponsor:
PLDI98: Conference on Programming Language
June 17 - 19, 1998
Quebec, Montreal, Canada

Acceptance Rates

PLDI '98 Paper Acceptance Rate 31 of 136 submissions, 23%;
Overall Acceptance Rate 406 of 2,067 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)88
  • Downloads (Last 6 weeks)18
Reflects downloads up to 13 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Decomposing convolutional neural networks into reusable and replaceable modulesProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510051(524-535)Online publication date: 21-May-2022
  • (2022)Using Modules to Manage the Content of IEC 61499 Type Libraries2022 IEEE 20th International Conference on Industrial Informatics (INDIN)10.1109/INDIN51773.2022.9976150(286-292)Online publication date: 25-Jul-2022
  • (2020)Semi-supervised Trajectory Understanding with POI Attention for End-to-End Trip RecommendationACM Transactions on Spatial Algorithms and Systems10.1145/33788906:2(1-25)Online publication date: 7-Feb-2020
  • (2020)Understanding the Operational Dynamics of Mobility Service ProvidersACM Transactions on Spatial Algorithms and Systems10.1145/33788886:2(1-20)Online publication date: 7-Feb-2020
  • (2017)Fabric: Building open distributed systems securely by constructionJournal of Computer Security10.3233/JCS-1580525:4-5(367-426)Online publication date: 10-Jul-2017
  • (2017)Abstracting definitional interpreters (functional pearl)Proceedings of the ACM on Programming Languages10.1145/31102561:ICFP(1-25)Online publication date: 29-Aug-2017
  • (2017)Herbarium Racketensis: a stroll through the woods (functional pearl)Proceedings of the ACM on Programming Languages10.1145/31102451:ICFP(1-15)Online publication date: 29-Aug-2017
  • (2017)A posteriori environment analysis with Pushdown Delta CFAACM SIGPLAN Notices10.1145/3093333.300989952:1(19-31)Online publication date: 1-Jan-2017
  • (2015)Detecting Incompatibilities Concealed in Duplicated Software LibrariesProceedings of the 2015 41st Euromicro Conference on Software Engineering and Advanced Applications10.1109/SEAA.2015.17(233-240)Online publication date: 26-Aug-2015
  • (2014)The nesC languageACM SIGPLAN Notices10.1145/2641638.264165249:4S(41-51)Online publication date: 1-Jul-2014
  • 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