[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Rabbit
Date: Thu, 13 May 93 14:37:03 BST
From: Jeff Dalton <jeff@aiai.edinburgh.ac.uk>
...
I'm pretty sure Rabbit handled a similar form called CATCH. But I'm
also pretty sure CATCH was a special form. CALL/CC could presumably
be defined using CATCH, but whether all of the CATCH optimizations
could still be done is less clear. On the other hand, there must be
more recent compilers that take the Rabbit approach of converting
to continuation-passing style, and they will handle CALL/CC directly.
CATCH was a special form with one variable (to be bound to the
continuation) and one subform.
(CATCH v expr) == (CALL/CC (LAMBDA (v) expr))
CALL/CC = (LAMBDA (FOO) (CATCH BAR (FOO BAR)))
--Guy
- References:
- Re: Rabbit
- From: Jeff Dalton <jeff@aiai.edinburgh.ac.uk>