chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-hackers] [PATCH] Fix r4rs, , r4rs-null and r5rs-null modules


From: Peter Bex
Subject: [Chicken-hackers] [PATCH] Fix r4rs, , r4rs-null and r5rs-null modules
Date: Sat, 14 Oct 2017 21:59:41 +0200
User-agent: NeoMutt/20170113 (1.7.2)

Hi all,

I was messing around trying to figure out how to make a working
definition of the "scheme" module without referring to itself,
but found out that r4rs, r4rs-null, and r5rs-null don't work
anymore:

#;1> (module foo (x) (import r4rs) (define x 1))

Error: (require) cannot load extension: r4rs


Interestingly, in CHICKEN 4 this still works for <reasons I was
unable to determine>.

The "r5rs" module does work because it's resolved as "scheme",
which has an entry in core-unit-requirements.

The attached patch fixes this and also takes care of the "XXX" comment
that tells us that "eval" is a requirement of anything that uses one of
the scheme standard modules.  I'm not 100% convinced this is the right
thing to do, because this would make it impossible to create a custom
built binary that excludes "eval" and friends.

Finally, should we get rid of r4rs-null and r5rs-null?  They're not
documented and they're *not* the same as the first-class
(null-environment), from what I can tell.

Cheers,
Peter

Attachment: 0001-Unbreak-rnrs-modules.patch
Description: Text Data

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]