[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.
They are equipotent and "equi-problematic":
(define (call-with-current-continuation receiver)
(catch tag
(receiver tag)))
(define-macro (catch tag . body)
`(call-with-current-continuation
(lambda (,tag)
,@body)))
- References:
- Re: Rabbit
- From: Jeff Dalton <jeff@aiai.edinburgh.ac.uk>