[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: r6rs define-record-type is unhygienic
From: |
Mark H Weaver |
Subject: |
Re: r6rs define-record-type is unhygienic |
Date: |
Fri, 17 Jun 2011 14:35:46 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) |
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 a different concept than
(values), which is no value at all, more like a (void) return type in C.
Unfortunately, in Guile these two concepts have been conflated, and
*unspecified* is returned in many places where (values) would be more
appropriate.
It would be very misleading to use the name *unspecified* to refer to
(values), when it is widely understood to mean something different.
IMHO, we should leave *unspecified* alone, and instead change selected
uses of *unspecified* to (values).
What do you think?
Best,
Mark
- Re: r6rs define-record-type is unhygienic,
Mark H Weaver <=