Eval-invisible let bindings

Mike Shaver mike.shaver at gmail.com
Fri Dec 7 08:56:32 PST 2007

On Dec 7, 2007 11:00 AM, P T Withington <ptw at pobox.com> wrote:
> My Lisp experience is that the compiler can warn when an
> 'indefinite extent' (upward) closure is being created to help the
> programmer avoid those (and the compiler can stack-allocate the
> captured state for 'dynamic extent' (downward) ones).  Some languages
> eschew closures altogether because they are isomorphic to instances,
> but with explicit allocation.  Personally, I find downward closures a
> powerful structuring tool, so I am glad we have them; but upward
> closures can be difficult for even the expert to spot, so I hope
> implementors will give us a hand there.

Upward closures, if I understand the terminology correctly, are quite
common on the web, such as when passed as an argument to setTimeout or
installed as an event handler.  Doing a better job of handling the
structuring uses of downward closures would indeed be quite righteous,
but I don't think we're going to stamp out upward closures any time


More information about the Es4-discuss mailing list