I've uploaded this package to snowfort, currently at srfi40/v1.0.1, containing a port of the srfi-40 reference implementation by Philip L. Bewig with adaptations and bug fixes by Andre von Tonder and catfive/chaosnet.org. The code is substantially that provided in the srfi-40 egg of Chicken Scheme.
The package contains some simple regression tests, which are passed by the following Scheme implementations when using the generic snow framework implementation:
bigloo chicken gauche mzscheme
I have also tested with scheme48 (probably a fairly old one, it's the stock Ubuntu package) and scsh 0.6.7. Both of the latter fail the test with the following error message:
Error: undefined variable gensym (package (for-syntax 1 user))
The basic functions such as stream-cons, stream, stream-null?, stream-car and stream-cdr, are tested, plus stream-filter, but not stream-unfoldn, stream-map and stream-for-each.
I would be most grateful for further bug reports or reports of success on other implementations.
Afficher les réponses par date
Thank you, but be aware that SRFI-41 is currently in discussion, to be finalized by the end of the month, and will replace SRFI-40, which will be withdrawn.
Phil
On Dec 2, 2007 11:24 PM, Tony Sidaway tonysidaway@gmail.com wrote:
I've uploaded this package to snowfort, currently at srfi40/v1.0.1, containing a port of the srfi-40 reference implementation by Philip L. Bewig with adaptations and bug fixes by Andre von Tonder and catfive/chaosnet.org. The code is substantially that provided in the srfi-40 egg of Chicken Scheme.
The package contains some simple regression tests, which are passed by the following Scheme implementations when using the generic snow framework implementation:
bigloo chicken gauche mzscheme
I have also tested with scheme48 (probably a fairly old one, it's the stock Ubuntu package) and scsh 0.6.7. Both of the latter fail the test with the following error message:
Error: undefined variable gensym (package (for-syntax 1 user))
The basic functions such as stream-cons, stream, stream-null?, stream-car and stream-cdr, are tested, plus stream-filter, but not stream-unfoldn, stream-map and stream-for-each.
I would be most grateful for further bug reports or reports of success on other implementations. _______________________________________________ Snow-users-list mailing list Snow-users-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/snow-users-list
On Dec 3, 2007 1:25 PM, Phil Bewig pbewig@gmail.com wrote:
Thank you, but be aware that SRFI-41 is currently in discussion, to be finalized by the end of the month, and will replace SRFI-40, which will be withdrawn.
Thanks. Conceptually it appears to very similar, and the stream-primitive appears to be the same as in srfi-40. I was planning to port stream-ext from chicken, which is basically a superset of srfi-41. If you're aware of any bugs or incompatibilities, please let me know.
srfi-41 itself seems to be a much more comprehensive treatment of lazy evaluation, I'll have to read it through.
On Dec 3, 2007 5:24 AM, Tony Sidaway tonysidaway@gmail.com wrote:
I have also tested with scheme48 (probably a fairly old one, it's the stock Ubuntu package) and scsh 0.6.7. Both of the latter fail the test with the following error message:
Error: undefined variable gensym (package (for-syntax 1 user))
I've rewritten to use hygienic macros except with Chicken and Guile, and it now passes the basic regression tests, at srfi40/v1.0.3, with all implementations I've been able to test it with: bigloo, chicken, gauche, guile, mzscheme, scheme48 and scsh.
Chicken and Guile don't support hygienic macros by default; they both rely on external modules.
snow-users-list@iro.umontreal.ca