Re: r6rs implementation? Marc Nieper-Wißkirchen 02 Oct 2020 05:19 UTC

Yes, implicit phasing. Not only does this model appear to be the
saner, it is also much easier to use for the programmer. (If you
really need different bindings at different phases, you better create
another module.)

What I do support is *parsing* the (for <import set> <import level>)
syntax so that Unsyntax can understand libraries written with explicit
phasing annotations. But the R6RS explicitly allows implicit phasing,
which includes ignoring the import levels.

What is yet missing to full R6RS support are all the R6RS standard
libraries that I would have to implement in terms of the R7RS
libraries. In principle, this should be doable. The bigger things are
the record subsystem and the condition subsystem. I hope that R7RS
(large) takes care not to specify something that is directly
contradicting so that an actual implementation of R7RS (large) with
R6RS support will become possible.

Am Do., 1. Okt. 2020 um 22:15 Uhr schrieb John Cowan <xxxxxx@ccil.org>:
>
> Are you supporting implicit phasing?  I hope so.  (No reason you can't support explicit phasing also.)
>
> On Thu, Oct 1, 2020 at 9:57 AM Marc Nieper-Wißkirchen <xxxxxx@nieper-wisskirchen.de> wrote:
>>
>> Am Sa., 26. Sept. 2020 um 20:17 Uhr schrieb Lassi Kortela <xxxxxx@lassi.io>:
>>
>> > > Do the various R6RS implementation automatically look at the right files?
>> >
>> > Yes, my impression is that they do. Each implementation has a particular
>> > extension that you need to use exactly as it is written -- for Chez
>> > Scheme ".chezscheme.sls", for Ikarus ".ikarus.sls", etc.
>>
>> Thanks. I implemented such behavior in Unsyntax as well as it is
>> probably sometimes more helpful than cond-expand.
>>
>> Unsyntax now looks at ".unsyntax.sls", ".sls", ".sld" in this order.
>> And I implemented the R6RS library system (including phasing and
>> versioning) as well.