Closed types for a safe imperative MetaML
- 1 May 2003
- journal article
- Published by Cambridge University Press (CUP) in Journal of Functional Programming
- Vol. 13 (3) , 545-571
- https://doi.org/10.1017/s0956796802004598
Abstract
This paper addresses the issue of safely combining computational effects and multi-stage programming. We propose a type system which exploits a notion of closed type, to check statically that an imperative multi-stage program does not cause run-time errors. Our approach is demonstrated formally for a core language called $\hbox{\sf MiniML}^{\sf meta}_{\sf ref}$. This core language safely combines multi-stage constructs and ML-style references, and is a conservative extension of $\hbox{\sf MiniML}_{\sf ref}$, a simple imperative subset of SML. In previous work, we introduced a closed type constructor, which was enough to ensure the safe execution of dynamically generated code in the pure fragment of $\hbox{\sf MiniML}^{\sf meta}_{\sf ref}$.
Keywords
This publication has 0 references indexed in Scilit: