An Idealized MetaML: Simpler, and More Expressive

  • Authors:
  • Eugenio Moggi;Walid Taha;Zine-El-Abidine Benaissa;Tim Sheard

  • Affiliations:
  • -;-;-;-

  • Venue:
  • ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

MetaML is a multi-stage functional programming language featuring three constructs that can be viewed as statically-typed refinements of the back-quote, comma, and eval of Scheme. Thus it provides special support for writing code generators and serves as a semantically-sound basis for systems involving multiple interdependent computational stages. In previous work, we reported on an implementation of MetaML, and on a reduction semantics and type-system for MetaML. In this paper, we present An Idealized MetaML (AIM) that is the result of our study of a categorical model for MetaML. An important outstanding problem is finding a type system that provides the user with a means for manipulating both open and closed code. This problem has eluded efforts by us and other researchers for over three years. AIM solves the issue by providing two type constructors, one classifies closed code and the other open code, and exploiting the way they interact. We point out that AIM can be verbose, and outline a possible remedy relating to the strictness of the closed code type.