[r6rs-discuss] Unicode issues

From: John Cowan <cowan>
Date: Tue, 28 Aug 2007 18:49:18 -0400

Thomas Lord scripsit:

> Per R6, the Scheme character type is a set of exactly 1,112,064 distinct
> values, no more, no less.

That is to say, 1,112,064 character objects that are distinguishable
by char= (and a fortiori by eql?). There is nothing to prevent an
implementer from introducing more character objects distinguishable
by finer-grained predicates. For example, if you wanted to add bits
attributes, you could do so, providing such procedures as (bits-char ch),
(char-with-bits ch bits), and (bits-char= ch1 ch2).

> It is generally true that, given only a pure R6 implementation,
> one could write sufficient libraries that, at least semantically (forget
> performance) one never needs to use *any* of the core types or
> procedures of R6 directly. One might wonder why we should then have
> the core types at all....

Because they are useful in many, though not all, circumstances,
and because it is therefore worthwhile standardizing their names and
the names of their associated procedures. (Lists are an exception;
the language mandates that procedures with rest arguments receive
lists-as-we-know-them. Syntax-case also intertwingles the R6 core types
with program generation in a way that syntax-rules did not.)

-- 
Using RELAX NG compact syntax to        John Cowan <cowan at ccil.org>
develop schemas is one of the simple    http://www.ccil.org/~cowan
pleasures in life....
        --Jeni Tennison                 <cowan at ccil.org>
Received on Tue Aug 28 2007 - 18:49:18 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC