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

Re: bracketaccess or $bracket-apply$ ?

This page is part of the web mail archives of SRFI 105 from before July 7th, 2015. The new archives for SRFI 105 contain all messages, not just those from before July 7th, 2015.

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/