On Wed, Feb 27, 2008 at 4:31 PM, Peter Bex <[EMAIL PROTECTED]> wrote:
> 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".

(void) returns the unspecified value, in Chicken, #<unspecified> -- as
does (values). But the unspecified value is a value, and can be tested
for identity with eq?.

>  (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.

It's an implementation detail of Chicken, but it is highly unlikely
that it will change. Void is nebulous as a concept, but its Chicken
implementation is concrete.

Graham


_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to