skip to main content
10.1145/317636.317800acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
Article
Free Access

Static interpretation of modules

Authors Info & Claims
Published:01 September 1999Publication History

ABSTRACT

This paper presents a technique for compiling Standard ML Modules into typed intermediate language fragments, which may be compiled separately and linked using traditional linking technology to form executable code. The technique is called static interpretation and allows compile-time implementation details to propagate across module boundaries. Static interpretation eliminates all module-level code at compile time.The technique scales to full Standard ML and is used in the ML Kit with Regions compiler. A framework for smart recompilation makes the technique useful for compiling large programs.

References

  1. 1.Laxs Birkedal, Mads Tofte, and Magnus Vejlstrup. From region inference to yon Neurnann machines via region representation inference. In ~13rd ACM Symposium on Principles of Programming Languages, January 1996. , Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.Luis Dumas and Robin Milner. Principal type schemes for functional programs. In 9th A CM Symposium on Principles of Programming Languages, January 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.Martin Elsman. Program Modules, Separate Compilation, and Intermodule Optimisation. P hD thesis, Department of Computer Science, University of Copenhagen, January 1999.Google ScholarGoogle Scholar
  4. 4.The Berkeley ANalysis Engine Group. The BANE de-functorizer. Available via the URL http: / /www. cs. berkeley, edu/Research / Aiken / bane. html.Google ScholarGoogle Scholar
  5. 5.Robert Harper and Mark LiUibridge. A type-theoretic approach to higher-order modules with sharing. In 21st A CM Symposium on Principles of Programming Languages, January 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.Robert Harper and Chris Stone. An interpretation of Standard ML in type theory. Technical report, Carnegie Mellon University, June 1997. CMU-CS-97-147.Google ScholarGoogle Scholar
  7. 7.Stefan Kahrs. Mistakes and ambiguities in the definition of Standard ML. Technical report, University of Edinburgh, Laboratory for Foundations of Computer Science, April 1993. There is an Addenda for this paper, written June 94.Google ScholarGoogle Scholar
  8. 8.Xavier Leroy. Polymorphic Typing of an Algorithmic Language. PhD thesis, INRIA, October 1992.Google ScholarGoogle Scholar
  9. 9.Xavier Leroy. Manifest types, modules, and separate compilation. In 21st A CM Symposium on Principles of Programming Languages, pages 109-122, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.Robin Milner. A theory of type polymorphism in programming languages. Journal of Computer and System Sciences, 17:348-375, 1978.Google ScholarGoogle ScholarCross RefCross Ref
  11. 11.Robin Milner, Muds Torte, Robert Harper, and David MacQueen. The Definition of Standard ML (Revised). MIT Press, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.Claudio V. Russo. Types for Modules. PhD thesis, University of Edinburgh, Department of Computer Science, june 1998.Google ScholarGoogle Scholar
  13. 13.Zhong Shao. Typed cross-module compilation. Technical report, Department of Computer Science, Yale University, July 1997. YALEU/DCS/TR-1126.Google ScholarGoogle Scholar
  14. 14.Mads Torte. Operational Semantics and Polymorphic Type Inference. PhD thesis, University of Edinburgh, Department of Computer Science, May 1988.Google ScholarGoogle Scholar
  15. 15.Marls Torte and Lars Birkedal. A region inference algorithm. 2~cansactions on Programming Languages and Systems (TOPLAS), 20(4):734-767, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16.Mads Torte, Lars Birkedal, Martin Elsman, Niels Hallenberg, Tommy Hojfeld Olesen~ Peter Sestoft~ and Peter Bertelsen. Programming with regions in the ML Kit (for version 3). Technical report, Department of Computer Science, University of Copenhagen, December 1998.Google ScholarGoogle Scholar
  17. 17.Mads Tofte and Jean-Pierre Talpin. Implementation of the typed call-by-value A-calculus using a stack of regions. In 21st A CM Symposium on Principles of Programming Languages, january 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.Mads Torte and jean-Pierre Talpin. Region-based memory management. Information and Computation, 132(2):109-176, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19.Stephen Weeks. stoic user's guide. A whole-program Standard ML compiler, August 1998.Google ScholarGoogle Scholar

Index Terms

  1. Static interpretation of modules

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            ICFP '99: Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
            September 1999
            288 pages
            ISBN:1581131119
            DOI:10.1145/317636
            • Chairmen:
            • Didier Rémy,
            • Peter Lee

            Copyright © 1999 ACM

            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: 1 September 1999

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • Article

            Acceptance Rates

            ICFP '99 Paper Acceptance Rate25of81submissions,31%Overall Acceptance Rate333of1,064submissions,31%

            Upcoming Conference

            ICFP '24

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader