[bitc-dev] Error in specification of DO

Kevin Reid kpreid at mac.com
Thu Jul 10 07:09:01 CDT 2008


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/>




More information about the bitc-dev mailing list