Re: Some comments Marc Nieper-Wißkirchen 30 Sep 2026 05:15 UTC

Am Mi., 30. Sept. 2026 um 07:10 Uhr schrieb Wolfgang Corcoran-Mathe
<xxxxxx@sigwinch.xyz>:
>
> Marc,
>
> On 2026-09-30 07:02 +0200, Marc Nieper-Wißkirchen wrote:
> > Am Mi., 30. Sept. 2026 um 04:02 Uhr schrieb Wolfgang Corcoran-Mathe
> > <xxxxxx@sigwinch.xyz>:
> > > I don’t understand this either, but I understand the use of ‘case’ in
> > > this example even less!  Why didn’t you just write:
> > >
> > >     (syntax-rules (big little)
> > >       ((_ big) 'big)
> > >       ((_ little) 'little)
> > >       ((_ e) (syntax-error "bad endianness" e)))
> >
> > This would only be reliable if big and little were bound identifiers.
> > And it would be incompatible with R6RS.
>
> Thanks, but could you explain this a bit more?  I reviewed the R6RS &
> the report emphasizes that “only the name of <endianness symbol> is
> significant”.  So it should be correct to use ‘free-identifier=?’ (or
> the ‘syntax-rules’ literal list) in this case, no?

In R6RS it mustn't matter whether `big` and `little` are bound. The
`syntax-rules` implementation behaves differently depending on whether
the identifiers are bound or not.

The whole thing is quite R6RS-ish anyway, modelled after R6RS's
enumeration types. In R7RS, I would expect `'big` and `'little` as in
classical Scheme.

>
> --
> Wolfgang Corcoran-Mathe  <xxxxxx@sigwinch.xyz>