[Prev][Next][Index][Thread]

PL seminar - Erik Hilsdale, MetaML and Staged Computation



		    Programming Languages Seminar
		       Friday, December 6, 1996
			 10:05am-11am, LH 101

	    Who's on first?  MetaML and Staged Computation

			    Erik Hilsdale
			  Indiana University

Abstract: MetaML is a language designed for explicit program staging
-- or, in other words, manual binding-time analysis.  While
multi-stage languages have been proposed as intermediate
representations for partial evaluation and run-time code generation,
MetaML is designed as a programming language in its own right.

MetaML provides type-checked annotations similar to Lisp's
quasiquotation and eval that provide the capability to explicitly
break a program into an arbitrary number of stages.  All type checking
is done before any of the first stage's computation.  The values bound
to variables in one stage are available in all subsequent stages, and
substitution of code between stages is done in a hygienic fashion.

In this talk I will introduce MetaML, describe some of its properties
and its motivation, and play with a few examples of program staging as
time permits.

This talk is based on current work of Walid Taha and Tim Sheard at
OGI.