Agreeing on `define` syntax
Lassi Kortela 29 Aug 2021 16:28 UTC
>> FWIW Guile provides this feature in an external module.
This is mentioned in the SRFI.
>> think that having a more robust module system that allows you to
>> override existing bindings is much more robust than requesting a
>> particular syntax extension from a vendor.
Generally agreed. But RnRS needs to agree upon some core syntax, or code
in the wild will be chaotic.
> If library A (say, SRFI 219) defines an extension to `define' and
> another library B (say, SRFI 227bis) defines another (principally
> compatible) extension to `define', I won't get a combined extension in
> any way except for writing a library C from scratch that implements the
> features from A and B.
>
> Thus, eventually, one will have to agree on a common set of extensions
> and have them implemented in the actual standard.
Agreed. We have lots of different proposals floating around for
procedure argument lists. This is like the old situation with defining
record types. In a future RnRS we should settle the matter and arrive at
one set of semantics.
I continue to be a "lone voice crying out in the wilderness" for nudging
Scheme's syntax closer to Common Lisp and Emacs Lisp where possible.