Hostname: page-component-8448b6f56d-gtxcr Total loading time: 0 Render date: 2024-04-23T09:17:45.193Z Has data issue: false hasContentIssue false

Closed types for a safe imperative MetaML

Published online by Cambridge University Press:  13 May 2003

C. CALCAGNO
Affiliation:
DISI, Universita di Genova, Genova, Italy (e-mail: calcagno@disi.unige.it)
E. MOGGI
Affiliation:
DISI, Universita di Genova, Genova, Italy (e-mail: moggi@disi.unige.it)
T. SHEARD
Affiliation:
Oregon Graduate Institute, Portland, OR, USA (e-mail: sheard@cse.ogi.edu)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

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}$.

Type
Research Article
Copyright
© 2003 Cambridge University Press
Submit a response

Discussions

No Discussions have been published for this article.