Closure generation based on viewing lambda as epsilon plus compile

  • Authors:
  • Marc Feeley;Guy Lapalme

  • Affiliations:
  • Computer Science Department, Brandeis University, 415 South Street, Waltham, MA 02254, U.S.A.;Départment d'Informatique et de Recherche Opérationnelle, Université de Montréal, P.O. Box 6128, Station A, Montréal, Québec, Canada H3C 3J7

  • Venue:
  • Computer Languages
  • Year:
  • 1992

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes a way of expressing @l-expressions (which produce closures) in terms of @e-expressions (@l-expressions containing only local and global variable references) and calls to an interactive compiler that compiles @e-expressions. This point of view is an interesting way of describing the semantics of @l-expressions and closure generation. It also leads to an efficient closure implementation both in time and space. A closure is uniformly represented as a piece of code instead of a compound object containing a code and environment pointer. This method can also be used to simulate closures in conventional dialects of Lisp