Re: bracketaccess or $bracket-apply$ ? Per Bothner 22 Sep 2012 20:27 UTC

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