From: <Joe...@t-...> - 2017-06-06 11:33:55
|
Hi, Bruno asked: >There are a couple of wrong terms in the source code: >* How to call the result of capturing a stack frame? > It's a simple-vector consisting of binding cells. > The previous term "closure" is wrong (see [1]). > I'm hesitating between > - "a capture" - because of the verb "capture" above, > but still a misnomer [2], > - "a prison" - because it's a container for *cell*s, > and contains *capture*d values. I remember the term "display closure" from Scheme compilers / compilation techniques. The Development of Chez Scheme R. Kent Dybvig https://www.cs.indiana.edu/~dyb/pubs/hocs.pdf "While researching how other systems had coped with similar problems, I ran across a book on the implementation of Algol 60 by Brian Randell and Lawford Russell [46], which described the use of displays for speeding access to the free variables of a local function. A display is a bank of memory locations or registers, each pointing to one of the frames whose variables make up the current lexical environment. Displays weren't directly usable for my purposes, but I was able to make several adjustments and from the display model derived the notion of a display closure, a heap-allocated vector-like object holding a code pointer and the values of the free variables [16]." Regards, Jörg |