| Date: Tue, 28 Aug 2007 13:30:25 -0700
 | From: Thomas Lord <[EMAIL PROTECTED]>
 | ...
 | 
 | You have previously handwaved by pointing out that anyone is free
 | to implement a new CHARACTER? type or similar and do whatever they
 | like.  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.

Not so!  If you use records to specify the new type, then EQV? won't
work on these new characters.  States r5.97rs-lib section 6.1
Mutability and equivalence of records:

    * If obj1 and obj2 are both records of the same record type, and
    are the results of two separate calls to record constructors, then
    eqv? returns #f.

User created character types also lack a read syntax.

 | One might wonder why we should then have the core types at all....

Scheme-defined types can't substitute for core types in R5.97RS.  To
do so, Scheme would need to enable record definitions to specify EQV?
and EQUAL? behavior, and have some way to specify read and write
syntax of the new types.

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to