On 09/22/2012 09:10 AM, David A. Wheeler wrote:
> Per Bothner reports that Kawa maps:
>> [foo bar] to ($bracket-list$ foo bar)
>> x[foo bar] to ($bracket-apply$ x foo bar)
>
> Should we map x[foo bar] to (bracketaccess foo bar), as it currently does, or ($bracket-apply$ foo bar) ?
>
> I'd like to hear people's opinions!
The argument for $bracket-apply$ is that it's less likely to conflict.
The traditional Scheme/Lisp way that certain reader forms get mapped
to simple identifiers (quote, unquote-splicing, bracketapply, ...)
effectively makes these symbols reserved,, which seems to violate the
spirit of Scheme (no reserved names), and limits the success of
hygienic macros.
Worse: the fact that these symbols are reserved is "under the hood".
For example this breaks in a way that might be surprising to a
naive user:
(let ((quote "'"))
(string-append quote (symbol->string 'foo) quote))
This sort of thing is in my opinion a design flaw in Scheme.
I suggest avoid making this problem worse.
--
--Per Bothner
xxxxxx@bothner.com http://per.bothner.com/