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

the "Unicode Background" section

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

The Unicode Background section of the new draft has

  > It is thus appropriate to define Scheme characters as Unicode scalar
  > values, which includes all code points except those designated as
  > surrogates.

That seems wrong-headed to me.   Characters should simply
be codepoints, instead.

If CHARs are codepoints, more basic Unicode algorithms translate
into Scheme cleanly.   

If CHARs are codepoints, they have simple algebraic properties
in relation to integers.

What is gained by forcing surrogates to be unrepresentable as CHAR?

What kind of code will I wind up with if I want to iterate over
a large range of CHAR values?  Must R6RS also add new arithmetic
operators that work on CHAR values or their strangely limited integer
values?  Please don't tell me you want to "protect" me from including
surrogates in my iteration.

It's not as if by excluding surrogates we arrive at a CHAR definition
that is significantly more "linguistic" than if we don't.