Thomas Lord scripsit:
> In Scheme, one difference of significance is mutability (yes I know you
> like to tilt against that windmill). Another is what `equal?' does.
> Another is a convenient (non-essential but convenient) disjointness.
Ah. All of these are easily disposed of by a trivial SRFI 9 wrapper:
(define-record-type uninterned-symbol
(make-uninterned-symbol string)
uninterned-symbol?
(string interned-symbol->string))
In order to extend "symbol?" to respond #t, you need to use
something like the SRFI-99 record inspector:
(define true-symbol? symbol?)
(define (symbol? x) (or (true-symbol? x)
(and (record? x)
(eq (record-rtd uninterned-symbol)))))
> I don't propose them for a core of Scheme. I think they are a nice
> feature to have around.
Fair enough.
--
John Cowan [email protected] http://ccil.org/~cowan
In computer science, we stand on each other's feet.
--Brian K. Reid
_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss