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 <[EMAIL PROTECTED]> develop schemas is one of the simple http://www.ccil.org/~cowan pleasures in life.... --Jeni Tennison <[EMAIL PROTECTED]> _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
