|
From: | Kon Lovett |
Subject: | [Chicken-users] Re: srfi-45 egg issue |
Date: | Thu, 27 Aug 2009 13:22:31 -0700 |
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
[Prev in Thread] | Current Thread | [Next in Thread] |