Re: Delimiters for pragmas

Dave Pawson writes:

> Can we resolve this please. Sometime before June
> Suggestion, Each put forward their *single* preference,
> I'll put them together, ask you for a weighted choice (QFD)
> and hopefully the group will support that?

> My choice ¿ and ?

I think a little more churning may be helpful before laying out a set of
alternatives and deciding.  At the moment, I think I would most like to
hear more from others about what they think pragmas are for and/or what
they understand the essential nature of pragmas to be (assuming that
pragmas have such a thing as an essential nature).

Since a well-chosen surface syntax can help humans understand things
better by suggesting the nature of the things represented, the
discussion about the nature of pragmas may help us think of good ideas
for their syntax.  If we conclude, for example, that we want to think of
pragmas as instructions or commands, we might choose ¡...! over ¿...?.

Since you mention ¿...?, I will note that writing out a few examples the
other day, I noticed that I found the ¿ ... ? syntax slightly
distracting.  In a metadata pragma with Dublin Core data, for example,
those delimiters might look like this:

    ¿dc:title Grammar for CSS?
    ¿dc:author Steven Pemberton?
    ¿dc:date 2019?

The trailing question mark eventually started to bother me a little; it
seems to want to suggest that there is some uncertainty about the title,
author, and date of the ixml grammar in which these pragmas are
embedded.

My current favorite is white braces, but I will have to find a way of
typing the Unicode characters for them.

    ⦃dc:title Grammar for CSS⦄
    ⦃dc:author Steven Pemberton⦄
    ⦃dc:date 2019⦄

Or using the easier-keyboarding alternative suggested by Bethan:

    {[dc:title Grammar for CSS]}
    {[dc:author Steven Pemberton]}
    {[dc:date 2019]}

For what it's worth, I am reminded of the fact that in specifying
Pascal, Niklaus Wirth defined both {..} and (* ... *) as comment
delimiters, since not all machines had curly braces in their character
sets (card punches, for example).  Actually, the Pascal Report also
allows {...*) and (*...}, which may simplify the lexical scanner but
which I find mildly horrifying. 

Bottom line:  I don't think we're ready to vote yet.

Michael


-- 
C. M. Sperberg-McQueen
Black Mesa Technologies LLC
http://blackmesatech.com

Received on Saturday, 29 January 2022 15:44:16 UTC