Sciweavers

FOSSACS
2003
Springer

A Monadic Multi-stage Metalanguage

14 years 5 months ago
A Monadic Multi-stage Metalanguage
We describe a metalanguage MMML, which makes explicit the order of evaluation (in the spirit of monadic metalanguages) and the staging of computations (as in languages for multi-level binding-time analysis). The main contribution of the paper is an operational semantics which is sufficiently detailed for analyzing subtle aspects of multi-stage programming, but also intuitive enough to serve as a reference semantics. For instance, the separation of computational types from code types, makes clear the distinction between a computation for generating code and the generated code, and provides a basis for multi-lingual extensions, where a variety of programming languages (aka monads) coexist. The operational semantics consists of two parts: local (semantics preserving) simplification rules, and computation steps executed in a deterministic order (because they may have side-effects). We focus on the computational aspects, thus we adopt a simple type system, that can detect usual type erro...
Eugenio Moggi, Sonia Fagorzi
Added 06 Jul 2010
Updated 06 Jul 2010
Type Conference
Year 2003
Where FOSSACS
Authors Eugenio Moggi, Sonia Fagorzi
Comments (0)