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.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Research partially supported by MURST and ESPRIT WG APPSEM.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Zine El-Abidine Benaissa Explicit Substitution Calculi as a Foundation of Functional Programming Languages Implementations PhD thesis, INRIA, 1997.
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.
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.
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.
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.
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.
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.
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.
Walid Taha. Multi-Stage Programming: Its Theory and Applications. PhD thesis, Oregon Graduate Institute of Science and Technology, July 1999.
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.
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.
Walid Taha and Tim Sheard. MetaML: Multi-stage programming with explicit annotations. Theoretical Computer Science, 248(1–2), 2000.
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.
Andrew K. Wright and Matthias Felleisen. A Syntactic Approach to Type Soundness. Information and Computation, 115(1):38–94, 1994.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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