Re: SRFI-108/SRFI-109 special characters John Cowan 24 Nov 2012 06:55 UTC

Per Bothner scripsit:

> On 11/18/2012 01:22 PM, John Cowan wrote:
> >I strongly prefer XML-style with braces.
> Both forms use both braces and brackets, so I'm unclear
> whether you mean "XML-style with braces for literal text"
> or "XML-style with braces for escaped expressions".

I meant the former, eliminating the whole idea of initial expressions.
They seem to be insufficiently justified in this draft (to be sure, it
says "examples needed", which I can only agree with).  If there are no
initial expressions, then square brackets need not be used, and braces
suffice for both quasi-expressions and unquoted expressions.  Given that
there is substantial disagreement in the Scheme world about what, if
anything, square brackets should be for, I consider it wise to avoid them.

But if initial expressions are to be kept, I don't see why the example
#&cname[&{exp1 exp2}text} should be expanded into something involving
an empty string.  Does #&cname[&{exp1}&{exp2}] expand to ($quasi-value$
cname "" exp1 "" exp2 "")?  Surely not.  If the two notations are said
to be equivalent, they should be *truly* equivalent, and the user left
to choose between them without any desugaring artifacts.

> I don't believe either "xml-style" or "scribble-style" (or certain other
> possible variations) directly conflict with SRFI-105 or brackets as
> alternative parens.

Hmm, right.  Okay, never mind those arguments -- but I still think
it's better not to have square brackets.

I think your remark that Scribble-style is not really compatible with
Scribble is enough to sink the idea.  It's hard to maintain two subtly
different lexical syntaxes in one's head.  The XML-style is really not
much like XML, and creates no mental conflicts.

John Cowan
Assent may be registered by a signature, a handshake, or a click of a computer
mouse transmitted across the invisible ether of the Internet. Formality
is not a requisite; any sign, symbol or action, or even willful inaction,
as long as it is unequivocally referable to the promise, may create a contract.
       --Specht v. Netscape