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

Re: [Scheme-reports] Formal Comment: Change syntax of symbols from |<symbol element>*| to #"<string element>*"

On Tue, Mar 13, 2012 at 2:02 PM, John Cowan <cowan@x> wrote:
> Andrew Robbins scripsit:
>> In terms of transmission, the (inline hex escape) lexical space of
>> R6RS is sufficient to encompass most of the value space of (vertical
>> bar) identifiers, with the added bonus of being able to be transmitted
>> to interpreters and compilers via 8-bit unsafe channels and 7-bit
>> encoded ASCII text files.
> Everything except ||, the result of (string->symbol "").
>> Neither (vertical bar) nor Unicode identifiers (also added in R6RS)
>> can make this claim.
> Vertical bar as defined in draft 6 allows inline hex escapes within the
> bars, so it allows everything that inline hex escapes do.
>> Why would we add 1114111 redundancies to Scheme identifier lexical
>> space when the only addition to the value space is ||?
> Vertical bars allow mixed-case identifiers in a case-folding context to
> be readable.  |Foo| is much more readable than \x46;oo, and |FOO| is
> infinitely more readable than \x46;\x4F;\x4F;.  This is the example that
> convinced me of the virtues of |...|.

I had already recommended before to use \x46; and \|...|
as the single and multiple escape mechanism.  That kills
two birds with one character leaving |...| open.  I think it's
also not overly antagonistic to Gambit's six notation since
neither an initial "|" nor "xNN;" would be meaningful in six.

I'll add this option to the ballot.


Scheme-reports mailing list