On Jul 10, 2008, at 0:36, Jonathan S. Shapiro wrote:

> What I proposed today was a lexically scoped, non-capturable
> continuation form:
>
>  (escape-via escape-ident expr)
>
> with the intended meaning that /escape-ident/ is in scope within / 
> expr/
> as a procedure label whose invocation returns from the escape-via
> construct. The return type must agree with the overall expression  
> return
> type.

In case this is new and useful information: Other than /escape-ident/  
being bound to a procedure, this is identical to Common Lisp's BLOCK &  
RETURN-FROM.

http://www.lispworks.com/documentation/HyperSpec/Body/s_block.htm

(Note that it is possible to capture a RETURN-FROM in a closure; it  
still has only dynamic extent.)

It is possible to implement all other forms of non-local exit in terms  
of BLOCK.

-- 
Kevin Reid                            <http://homepage.mac.com/kpreid/>


_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to