[plt-scheme] Re: call/cc, set!, and fluid-let

From: Doug Orleans (dougo at place.org)
Date: Tue Jun 14 13:10:36 EDT 2005

John Clements writes:
 > On Jun 14, 2005, at 11:50 AM, David Van Horn wrote:
 > > John Clements wrote:
 > >> I claim that
 > >> (let/cc k M0 .... (k N))
 > >> is equivalent to
 > >> (begin M0 ... N)
 > >> if there are no references to k in any of M0 ... or N.
 > >
 > > Almost.  One of these will consume all available memory, the other 
 > > will not.
 > >
 > > (let loop () (let/ec k (k (loop))))
 > > (let loop () (begin (loop)))
 > 
 > Feh!  Not Safe-for-space.

Is there a reason that the argument of a continuation application is
not in tail position?  Is it just that you can't (always) tell
syntactically when a continuation is being applied?  If there were
special syntax for continuation application, would this work?

--dougo at place.org



Posted on the users mailing list.