guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: r6rs define-record-type is unhygienic


From: Andy Wingo
Subject: Re: r6rs define-record-type is unhygienic
Date: Sat, 18 Jun 2011 00:34:02 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)

On Fri 17 Jun 2011 20:35, Mark H Weaver <address@hidden> writes:

> Andy Wingo <address@hidden> wrote on bug-guile:
>>> +         (let loop ((_fields *unspecified*)
>>> +                    (_parent *unspecified*)
>>
>> I realize this was in the original code, but better to use some other
>> value to indicate a non-initialized value.  In the future *unspecified*
>> will be the same as (values).
>
> I don't think *unspecified* should become (values).  In the scheme
> reports and elsewhere, "an unspecified value" generally means a single
> value which could be anything.

This is not the case in R6RS, where the report takes care to indicate
"unspecified values".  One cannot meaningfully ask what the value is of
(if #f #f) -- not in the spec, nor in any specific implementation.

> It would be very misleading to use the name *unspecified* to refer to
> (values), when it is widely understood to mean something different.

It has been understood that way in Guile, yes; but IMO that is an
error, and one that we should fix if we are able.  (Whether we are able
to do so is a different question.)

Regards,

Andy
-- 
http://wingolog.org/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]