[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[chaynes@sunfish.cs.indiana.edu: comments? ]
Date: Sun, 27 Jan 91 15:28:25 EST
From: Chris Haynes <chaynes@sunfish.cs.indiana.edu>
"I think you mean it's an error to invoke the continuation of <expression>
or <init> more than once."
Chris is correct. We meant to write:
Subsection 4.2.2 (on letrec):
-----------------------------
"Warning: It is an error to invoke the continuation of
<expression> more than once."
Subsection 5.2 (on define):
---------------------------
"Warning: It is an error to invoke the continuation of
<init> more than once."
The code for the LETREC expansion in Subsection 7.3 stays the same.
For DEFINE's in Subsection 7.1, we should add something like:
(define var val)
==
(let ((thunk (lambda () val)) (hasnt-returned-yet? #t))
(let ((result (thunk)))
(if hasnt-returned-yet?
(begin
(set! hasnt-returned-yet? #f)
(set! var result))
(error "It is an error to call such continuations")))
-- Bruce and Matthias