chicken-hackers
[Top][All Lists]
Advanced

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

CHICKEN 6 + R7RS


From: felix . winkelmann
Subject: CHICKEN 6 + R7RS
Date: Mon, 25 Sep 2023 20:35:35 +0200

Hello!


John Cowan suggested to add R7RS support to the CHICKEN core
in the forthcoming version 6. It certainly is about time to
commit a bit more to R7RS (small), since it is, as a standard, 
reasonably established now. The current mode of support as an
egg works quite well, but still feels a somewhat clunky 
(passing "-X r7rs -R r7rs" to the compiler, for example).

The UTF support to appear in C6 already introduces R7RS bytevectors
to the core system and it seems to me that core support promises
a smoother and more efficient integration of these features when
maintained in combination with the base system.

So, I think it might not be a bad idea to make the jump, and I
would be very interested in getting feedback and to hear what
others think of this.

The base system should be as compatible to existing CHICKEN code
as possible, the UTF transtion will already introduce some pain
(but hopefully in an obvious way, so that code can be adapted
quickly). So I suggest to add the R7RS modules that the egg 
currently provides, and compiler options ("-r7rs") and perhaps
parameters to switch behaviour to full R7RS compliance, for
example enabling R7RS specific syntax-rules behaviour or to
make "define-library" available by default. 

We may then examine whether completely switching semantics to
full R7RS for certain parts makes sense, depending on how much
code still relies on R5RS semantics.

I would also be interested in the ergonomics. An option to
csc and csi ("-r7rs") sounds simple, but perhaps a different
file extension (".sld") could also be used to assume R7RS code?
I'm not quite sure, I haven't thought this through, yet. Ideas
and suggestions would be _very_ welcome.


cheers,
felix




reply via email to

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