@TECHREPORT{Hook93asemantics, author = {James Hook and Tim Sheard}, title = {A Semantics of Compile-time Reflection}, institution = {}, year = {1993} }
Years of Citing Articles
Bookmark
OpenURL
Abstract
A new language incorporating both ML-style type checking and a limited form of reflection is defined by giving an interpreter and showing how this interpreter may be interpreted as a compositional denotational semantics. The resulting language has a partial function as a compiler, but if the compiler terminates without a type error there will be no type-errors at runtime. Typing issues and first-class environments are discussed as well. 1 Introduction Traditionally reflection and strong typing are found on different sides of the schism that divides the lisp and functional programming communities. This paper introduces Compile-time Reflective ML (CRML), a reflective language with compile-time type checking and run-time type safety[14]. CRML provides a bridge between two rich cultures. When developing CRML, the goal was to create a system that was both expressive and useful, supported higher abstraction mechanisms, and that could be completely type checked at compile-time. The implement...