Skip to main content

Multi-stage Imperative Languages: A Conservative Extension Result

  • Conference paper
  • First Online:
Semantics, Applications, and Implementation of Program Generation (SAIG 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1924))

Abstract

This paper extends the recent work [CMT00] on the opera- tional semantics and type system for a core language, called MiniMLBNref BN which exploits the notion of closed type (see also [MTBS99]) to safely combine imperative and multi-stage programming. The main novelties are the identification of a larger set of closed types and the addition of a binder for useless variables. The resulting language is a conservative extension of MiniMLref, a simple imperative subset of SML.

Research partially supported by MURST and ESPRIT WG APPSEM.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Zine El-Abidine Benaissa Explicit Substitution Calculi as a Foundation of Functional Programming Languages Implementations PhD thesis, INRIA, 1997.

    Google Scholar 

  2. Zine El-Abidine Benaissa, Eugenio Moggi, Walid Taha, and Tim Sheard. Logical modalities and multi-stage programming. In Federated Logic Con-ference (FLoC) Satellite Workshop on Intuitionistic Modal Logics and Ap-plications (IMLA), July 1999.

    Google Scholar 

  3. Dominique Clement, Joelle Despeyroux, Thierry Despeyroux, and Gilles Kahn. A simple applicative language: Mini-ML. In Proceedings of the 1986 ACM Conference on Lisp and Functional Programming, pages 13–27. ACM, ACM, August 1986.

    Google Scholar 

  4. Cristiano Calcagno, Eugenio Moggi, Walid Taha. Closed Types as a Simple Approach to Safe Imperative Multi-Stage Programming. In Proceedings of ICALP 2000, volume 1853 of LNCS, pages 25–36, Springer, 2000.

    Google Scholar 

  5. Rowan Davies. A temporal-logic approach to binding-time analysis. In Proceedings, 11th Annual IEEE Symposium on Logic in Computer Science, pages 184–195, New Brunswick, July 1996. IEEE Computer Society Press.

    Google Scholar 

  6. Rowan Davies and Frank Pfenning. A modal analysis of staged computation. In 23rd Annual ACM Symposium on Principles of Programming Languages (POPL’96), pages 258–270, St. Petersburg Beach, January 1996.

    Google Scholar 

  7. Jean-Jacques Levy and Luc Maranget. Explicit Substitutions and Program-ming Languages. In 19th Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS), Chennai, India, December 1999.

    Google Scholar 

  8. Eugenio Moggi, Walid Taha, Zine El-Abidine Benaissa, and Tim Sheard. An idealized MetaML: Simpler, and more expressive. In European Sympo-sium on Programming (ESOP), volume 1576 of Lecture Notes in Computer Science, pages 193–207. Springer-Verlag, 1999.

    Google Scholar 

  9. Walid Taha. Multi-Stage Programming: Its Theory and Applications. PhD thesis, Oregon Graduate Institute of Science and Technology, July 1999.

    Google Scholar 

  10. Walid Taha, Zine-El-Abidine Benaissa, and Tim Sheard. Multi-stage pro-gramming: Axiomatization and type-safety. In 25th International Collo-quium on Automata, Languages, and Programming, volume 1443 of Lecture Notes in Computer Science, pages 918–929, Aalborg, July 1998.

    Chapter  Google Scholar 

  11. Walid Taha and Tim Sheard. Multi-stage programming with explicit an-notations. In Proceedings of the ACM-SIGPLAN Symposium on Partial Evaluation and semantic based program manipulations PEPM’97, Amster-dam, pages 203–217. ACM, 1997.

    Google Scholar 

  12. Walid Taha and Tim Sheard. MetaML: Multi-stage programming with explicit annotations. Theoretical Computer Science, 248(1–2), 2000.

    Article  Google Scholar 

  13. Mitchell Wand, Igor Siveroni. Constraint Systems for Useless Variable Elim-ination. In Proceedings of 26th ACM Symposium on Principles of Program-ming Languages (POPL), pages 291–302, 1999.

    Google Scholar 

  14. Andrew K. Wright and Matthias Felleisen. A Syntactic Approach to Type Soundness. Information and Computation, 115(1):38–94, 1994.

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Calcagno, C., Moggi1, E. (2000). Multi-stage Imperative Languages: A Conservative Extension Result. In: Taha, W. (eds) Semantics, Applications, and Implementation of Program Generation. SAIG 2000. Lecture Notes in Computer Science, vol 1924. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45350-4_9

Download citation

  • DOI: https://doi.org/10.1007/3-540-45350-4_9

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41054-6

  • Online ISBN: 978-3-540-45350-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics