Subject: Re: bug#56799: (gnu services configuration) usage of *unspecified* is problematic

From: Maxime Devos <[email-masked]>
Date: Thu, 28 Jul 2022 12:26:00 +0200

On 28-07-2022 06:55, [email-masked] wrote:
> Lots of systems are dealing with this issue, it seems, judging from
> [1]https://en.wikipedia.org/wiki/Bottom_type

I don't think it's a bottom type -- *unspecified* _is_ a value, so if we 
assign a type to it, it is inhabited, and hence not a bottom type. I

> What about using characters from some private upper unicode section
> to represent various kinds of unspecified things? E.g.,
> as guile named chars,
>
> #\unspecified_function_retval
> #\unspecified_function_error
> #\unspecified_macro_err
> #\unspecified_exception
  suppose you could subdivide the *unspecified* value, but why characters?

I think it would be better to:

  * gradually move away from *unspecified* to (values)
  * and this way, gradually change the meaning of *unspecified* from "an
    unspecified value" to 'an atom you can do with as you want"
  * after this, unspecified? and making #<unspecified> readable by the
    reader aren't weird anymore

though more something for guile-devel@ I suppose.

Greetings,
Maxime