Re: Configuring read and write for syntax extensions
Lassi Kortela 16 Aug 2020 12:50 UTC
>> Ideally we would have 1:1 correspondence between port syntax settings
>> and #! directives. Any setting could be represented by a #! directive
>> and vice versa.
>
> One has to get this matched to #!fold-case and #!no-fold-case.
>
> Moreover, a reader directive like #!fantastic-scheme may enable and/or
> disable quite a lot of flags.
>
> So, we won't get a 1:1 correspondence here. Nevertheless, we should
> look for some equally comprehensible mapping.
You're right. Some settings would necessarily have to be "magic". In
other words, the settings list would be normalized after each time a
setting has been changed.
> How do you want to turn off a setting "frobnicated-pairs"? Through
> "#!no-frobnicated-pairs"?
R7RS has #!fold-case and #!no-fold-case so that's one possibility. If
#!foo is the default, then setting #!foo would remove any #!non-foo
entry from the settings, but would not add a #!foo entry.
If we have a lot of settings, and all of them get a matching `#!no-...`
variant, the full list of directives will be huge and full of
repetition. Likewise, if each syntax SRFI gets `#!srfi-NNN`, there will
be quite many in a few years. Would be nice to invent something more
generic for these tasks.