On Wed, Feb 27, 2008 at 04:23:37PM -0500, Graham Fawcett wrote:
> >  Can you even check for void?  Afaik there's no VOID? procedure.
> 
> You can; just compare with another (void) value:
> 
> (define void? (cute eq? (void) <>))

That sounds rather brittle.  Afaik "void" is defined as "no value".

One possible and plausible implementation of VOID is this:

(define (void) (values))

(eq? (values) (values)) is #t, but I'm not sure how safe it is to
depend on that.  Especially since VOID is some kind of "undefined"
value, nobody says this representation can't change.  I don't think
you should depend on this implementation detail.

Cheers,
Peter
-- 
http://sjamaan.ath.cx
--
"The process of preparing programs for a digital computer
 is especially attractive, not only because it can be economically
 and scientifically rewarding, but also because it can be an aesthetic
 experience much like composing poetry or music."
                                                        -- Donald Knuth

Attachment: pgptr55Lkwtno.pgp
Description: PGP signature

_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to