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

Re: case mappings

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.

On Wed, 13 Jul 2005, Thomas Bushnell BSG wrote:

>My concern is that the *interfaces* not
>1) Prevent real conformance to Unicode.
>2) Encourage Scheme programmers to do things which can't conform to
>   Unicode even on a Scheme systems that want to conform.
>The current Scheme spec violates (1).

This is why I think "glyph=character" is more or less required
for a language that wants to have "single character" arguments to
and returns from case mapping functions.  You cannot do it in a
fashion compliant to the Unicode standard if you use
"codepoint=character" instead.

If you want real unicode compliance, you have basically two
options as far as I can see; the first is to make characters
grapheme clusters instead of single codepoints, (making use of
U+034F GRAPHEME JOINER to create altercase ligatures on demand
for ligatures whose altercase isn't provided in Unicode) and the
second is to abandon the idea of single character case changing
functions entirely.

>The current SRFI here violates (2).

Regarding that I'm less concerned.  As a wise man said,

"There never has been, nor will there ever be, any programming
language in which it is the least bit difficult to write bad code."
		     --Lawrence Flon

The best we can hope for, and the point of language design, is to make
it easy to do the right thing; there is no way we can prevent
programmers from doing the wrong thing if they're so inclined, nor
even make it the slightest bit difficult.  Our duty is to make sure
the right thing is no harder to do than the wrong thing.