Re: R7RS-large backward compatibility
Lassi Kortela 08 Mar 2020 09:06 UTC
> If we use the syntax of SRFI 177 to write the specification of another
> SRFI (as opposed to merely using SRFI 177 to implement the other SRFI),
> that other SRFI will be tied to SRFI 177's syntax, won't it? (Whatever
> the final syntax of SRFI 177 will be.)
In a sense it will. But SRFI 177 is specified to be compatible with
other keyword systems, users of 177 won't be tied to 177. If SRFI nnn
defining keywords procedures is implemented using another keyword system
(compatible with 177), and callers call SRFI nnn's procedures using that
keyword system instead of 177, nobody should notice a difference.
Nevertheless, I still agree with you that a minimal contract for the
keyword interface sounds better (according to my current, imperfect
understanding of the issues) than a direct dependency on 177.
> There is a possibility that R7RS-largw will finally allow a superior
> syntax for keyword arguments (e.g. by "overloading" lambda or by having
> SRFI 88-like keywords so that we don't need the call/kw macro, etc.).
> Thus, there would have to be a clear way how to map one keyword system
> to another one.
Absolutely.
Sorry for the silence for a day or two on the rest of this thread. I'm
trying to wrap my brain around how hygiene ties into this; probably need
to write some code to explore it. Thanks for your many explanations of
the topic. They are extremely helpful.