[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#56799: (gnu services configuration) usage of *unspecified* is proble
From: |
Maxim Cournoyer |
Subject: |
bug#56799: (gnu services configuration) usage of *unspecified* is problematic |
Date: |
Wed, 27 Jul 2022 14:31:32 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) |
Hi,
Tobias Geerinckx-Rice <me@tobias.gr> writes:
> Hi Maxim,
>
> Maxim Cournoyer 写道:
>> I'd suggest we revisit 8cb1a49a3998c39f315a4199b7d4a121a6d66449 to
>> use
>> 'unspecified (the symbol) instead of *unspecified*, which *can* be
>> serialized without any fuss in gexps.
>
> Bah. Could we provide our own reader?
>
> I'd much rather this be addressed in Guile (or failing that,
> transparently by Guix) than have to deal with some magical
> symbol. IIRC that was the argument for using *unspecified* in the
> first place, and I think it makes sense.
>
> This looks more like an unexplored oversight than a well-reasoned
> restriction to me.
This was my original impression, but thinking more about it, it became
apparent that *unspecified* is well, unspecified and shouldn't be relied
on by people to be something well defined. For some background reading,
see [0]. So it seems wrong in Scheme to actively set things to
*unspecified*, and give a specific meaning to that.
I think the semantic of the language is that it is to be used as the
lack of a return value from a procedure or syntax, e.g.:
(unspecified? (if #f 'one-arm-if)) -> #t
Having 'unspecified?' even defined in Guile seems to go against that
idea; perhaps because Wingo themselves seems to disagree in [0].
I'm also thinking 'unspecified being too close to *unspecified* is
probably going to cause confusion down the line. Reverting to the
originally used 'disabled may be the lesser evil.
Other thoughts?
Thanks,
Maxim
[0]
https://scheme-reports.scheme-reports.narkive.com/QSQtJSAh/unspecified-values
- bug#56799: (gnu services configuration) usage of *unspecified* is problematic, Maxim Cournoyer, 2022/07/27
- bug#56799: (gnu services configuration) usage of *unspecified* is problematic, Tobias Geerinckx-Rice, 2022/07/27
- bug#56799: (gnu services configuration) usage of *unspecified* is problematic, Attila Lendvai, 2022/07/27
- bug#56799: (gnu services configuration) usage of *unspecified* is problematic,
Maxim Cournoyer <=
- bug#56799: (gnu services configuration) usage of *unspecified* is problematic, Tobias Geerinckx-Rice, 2022/07/27
- bug#56799: (gnu services configuration) usage of *unspecified* is problematic, Maxim Cournoyer, 2022/07/27
- bug#56799: [PATCH] services: configuration: Step back from *unspecified*., Maxim Cournoyer, 2022/07/27
- bug#56799: (gnu services configuration) usage of *unspecified* is problematic, Maxim Cournoyer, 2022/07/27
- bug#56799: [PATCH v2] gexp: Handle *unspecified* as a gexp input., Maxim Cournoyer, 2022/07/27
- bug#56799: [PATCH v2] gexp: Handle *unspecified* as a gexp input., Maxime Devos, 2022/07/27
- bug#56799: [PATCH v2] gexp: Handle *unspecified* as a gexp input., Maxim Cournoyer, 2022/07/28
- bug#56799: [PATCH v3] gexp: Handle *unspecified* as a gexp input., Maxim Cournoyer, 2022/07/28
- bug#56799: (gnu services configuration) usage of *unspecified* is problematic, bokr, 2022/07/28
- bug#56799: (gnu services configuration) usage of *unspecified* is problematic, Maxime Devos, 2022/07/28