[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#29745] [PATCH 0/3] Disallow phase returning <unspecified>.
From: |
Ludovic Courtès |
Subject: |
[bug#29745] [PATCH 0/3] Disallow phase returning <unspecified>. |
Date: |
Mon, 18 Dec 2017 09:01:01 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Hello,
Arun Isaac <address@hidden> skribis:
> Ludovic Courtès <address@hidden> writes:
>
>> it ends up defining a notion of “true” that’s different from that of
>> Scheme (in Scheme, #f is the only false value; everything else is
>> true, including “the unspecified value”—see “Disjointness of types” in
>> the R5RS.)
>
> I agree. I don't think we should define a new notion of "true" that is
> different from that of Scheme.
>
> But, in that case, why do we explicitly add #t at the end of phases that
> return an unspecified value? Can we not drop this convention and simply
> accept unspecified values from phases as a success of that phase?
>
> The way it is right now, we add #t at the end of phases that return an
> unspecified value, but don't check for this anywhere. So, we have a lot
> of custom phases where people have forgotten to return #t. Patches 2 and
> 3 fix some of these, but I'm sure there are many more. Wouldn't it be
> simpler and more logical to accept unspecified values as "true" in line
> with Scheme's notion of "true"?
That’s a good question. My take on it is that it’s clearer: the return
value of ‘substitute*’ for instance is unspecified, it’s not necessarily
*the* unspecified value.
I’m not opposed to changing things though. For instance we could change
the return value of ‘substitute*’ to be #t on success; similarly for
‘install-file’.
What do people think?
Ludo’.
- [bug#29745] [PATCH 0/3] Disallow phase returning <unspecified>., Arun Isaac, 2017/12/16
- [bug#29745] [PATCH 1/3] build: gnu-build-system: Disallow phase returning <unspecified>., Arun Isaac, 2017/12/16
- [bug#29745] [PATCH 0/3] Disallow phase returning <unspecified>., Ricardo Wurmus, 2017/12/17
- [bug#29745] [PATCH 0/3] Disallow phase returning <unspecified>., Ludovic Courtès, 2017/12/17
- [bug#29745] [PATCH 0/3] Disallow phase returning <unspecified>., Arun Isaac, 2017/12/17
- [bug#29745] [PATCH 0/3] Disallow phase returning <unspecified>.,
Ludovic Courtès <=
- [bug#29745] [PATCH 0/3] Disallow phase returning <unspecified>., Arun Isaac, 2017/12/18
- [bug#29745] [PATCH 0/3] Disallow phase returning <unspecified>., Ludovic Courtès, 2017/12/19
- [bug#29745] [PATCH 0/3] Disallow phase returning <unspecified>., Mark H Weaver, 2017/12/19
- [bug#29745] [PATCH 0/3] Disallow phase returning <unspecified>., Andreas Enge, 2017/12/18
- [bug#29745] [PATCH 0/3] Disallow phase returning <unspecified>., Ricardo Wurmus, 2017/12/19
- bug#29745: [PATCH 0/3] Disallow phase returning <unspecified>., Arun Isaac, 2017/12/28
- [bug#29745] [PATCH 0/3] Disallow phase returning <unspecified>., Marius Bakke, 2017/12/17