On Aug 11, 2009, at 11:36 AM, Derrell Piper wrote:
Hi,
I'm playing around with the srfi-45 egg in Chicken 4. The third
test/benchmark from the SRFI is failing thusly:
Sorry about this; see Rel 2.2.0. Forgot that a lazy recursive promise
could hold a R5RS promise.
Note that 'delay' is always the R5RS procedure & 'd-lay' (or 'delay-
recursive') is the SRFI 45 version. This impl violates the SRFI since
it doesn't redefine the original procedure. ('delay' is primitive
syntax in Chicken 4 & not so easy to redefine. With Chicken 3, which
doesn't have a module system, redefining would have blocked use of the
R5RS 'delay'.)
csi> (use srfi-45)
; loading /usr/local/lib/chicken/4/srfi-45.import.so ...
Warning: re-importing already imported identifier: promise?
Warning: re-importing already imported identifier: force
; loading /usr/local/lib/chicken/4/srfi-45.so ...
csi> (define r (delay (begin (display 'hi) 1)))
csi> (define s (lazy r))
csi> (define t (lazy s))
csi> (recursive-promise? t)
#t
csi> (force t)
Error: (force) expected a recursive promise: (#<promise>)
Call history:
<syntax> (force t)
<eval> (force t) <--
Best Wishes,
Kon
_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users