[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: none




On 14 Aug 2003, Bruce Lewis wrote:

> <lewisbrown@acm.org> writes:
>
> > Would somebody please elaborate on Dr. Felleisen's suggestion that
> > 'Scheme may have made a mistake' in treating continuations as plain
> > functions; and, also, what would 'making vectors functions' give us?
>
> Dr. Felleisen has an evil plan for a Scheme implementation that
> implements truly first-class continuations, not just continuations
> encapsulated in a procedure.  He wants to store and compare
> continuations so that he can write a function with behavior that varies
> according to where it's being called from.  It will make the confusion
> people get from call/cc look like a walk in the park.

You're joking, but functions that know where they're being called from can
be very useful: think about implementing a debugger, for example.  First
class activation frames are great (just ask any Smalltalker).  They're
tricky to implement efficiently, but they let all kinds of things get
pulled up from the language implementation level to the library level
(exceptions, debugging, dynamic scope, call/cc itself... ).

They can, of course, be horribly abused, but what can't?

Avi