Intensions and extensions in a reflective tower

  • Authors:
  • Olivier Danvy;Karoline Malmkjaer

  • Affiliations:
  • DIKU - University of Copenhagen, Universitetsparken 1, DK-2100 Copenhagen ø, DENMARK;DIKU - University of Copenhagen, Universitetsparken 1, DK-2100 Copenhagen ø, DENMARK

  • Venue:
  • LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
  • Year:
  • 1988

Quantified Score

Hi-index 0.00

Visualization

Abstract

This article presents a model of the reflective tower based on the formal semantics of its levels. They are related extensionally by their mutual interpretation and intensionally by reification and reflection.The key points obtained here are: a formal relation between the semantic domains of each level; a formal identification of reification and reflection; the visualisation of intensional snapshots of a tower of interpreters; a formal justification and a generalization of Brown's meta-continuation; a (structural) denotational semantics for a compositional subset of the model; the distinction between making continuations jumpy and pushy; the discovery of the tail-reflection property; and a Scheme implementation of a properly tail-reflective and single-threaded reflective tower.Section 1 presents the new approach taken here: rather than implementing reification and reflection leading to a tower, we consider an infinite tower described by the semantics of each level and relate these by reification and reflection. Meta-circularity then gives sufficient conditions for implementing it. Section 2 investigates some aspects of the environments and control in a reflective tower. An analog of the funarg problem is pointed out, in relation with the correct environment at reification time. Jumpy and pushy continuations are contrasted, and the notions of ephemeral level and proper tail-reflection are introduced. Our approach is compared with related work and after a conclusion, some issues are proposed.