On Wed, Feb 27, 2008 at 6:33 PM, Jeremy Sydik <[EMAIL PROTECTED]> wrote: > Thinking more about it, I'm leaning MORE toward '() than before. I > also like relying > on a representation that's "standard" scheme rather than one that's > specifically part > of Chicken if we have the choice (and we do)
There's nothing particularly non-standard about (void). (void) returns a value #<undefined>, whose type is disjoint from all other types, e.g. ((disjoin list? number? string? symbol? boolean?) (void)) constantly returns #f. It ain't nothing but void, and that's an important quality for a value that is supposed to represent the absence of a value. This is also why '() is a bad idea. R5RS doesn't guarantee or forbid the creation of disjoint types, but every practical Scheme depends upon it. For example, for a Scheme to be able to support SRFI-9, the "record-types SRFI", it must be able to define disjoint types. The point is that any Scheme that can define records can define (void), so there's nothing non-standard about it. Graham _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
