[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bracketaccess or $bracket-apply$ ?



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
per@xxxxxxxxxxx   http://per.bothner.com/