New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Arthur A. Gleckler 02 Jul 2020 05:56 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Shiro Kawai 02 Jul 2020 12:50 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types John Cowan 02 Jul 2020 13:19 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Marc Nieper-Wißkirchen 07 Jul 2020 14:23 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types John Cowan 07 Jul 2020 20:32 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Marc Nieper-Wißkirchen 08 Jul 2020 14:27 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Wolfgang Corcoran-Mathe 08 Jul 2020 19:47 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Marc Nieper-Wißkirchen 08 Jul 2020 20:21 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types John Cowan 09 Jul 2020 04:32 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Marc Nieper-Wißkirchen 09 Jul 2020 09:30 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types John Cowan 10 Jul 2020 14:05 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Marc Nieper-Wißkirchen 10 Jul 2020 14:39 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Wolfgang Corcoran-Mathe 10 Jul 2020 17:30 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Marc Nieper-Wißkirchen 10 Jul 2020 17:50 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Wolfgang Corcoran-Mathe 11 Jul 2020 15:22 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Marc Nieper-Wißkirchen 11 Jul 2020 15:30 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Wolfgang Corcoran-Mathe 11 Jul 2020 16:17 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Alex Shinn 11 Jul 2020 22:20 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Marc Nieper-Wißkirchen 11 Jul 2020 22:29 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Wolfgang Corcoran-Mathe 12 Jul 2020 03:35 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Marc Nieper-Wißkirchen 11 Jul 2020 16:33 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types John Cowan 11 Jul 2020 18:44 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Marc Nieper-Wißkirchen 11 Jul 2020 19:26 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Arthur A. Gleckler 11 Jul 2020 19:59 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Marc Nieper-Wißkirchen 11 Jul 2020 20:06 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Arthur A. Gleckler 11 Jul 2020 20:08 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Marc Nieper-Wißkirchen 14 Jul 2020 09:13 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types John Cowan 14 Jul 2020 21:15 UTC
Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Alex Shinn 15 Jul 2020 00:07 UTC

Re: New draft (#8) of and new "last call" for SRFI 189: Maybe and Either: optional container types Marc Nieper-Wißkirchen 11 Jul 2020 16:33 UTC

Am Fr., 10. Juli 2020 um 16:39 Uhr schrieb Marc Nieper-Wißkirchen
<xxxxxx@nieper-wisskirchen.de>:

> If you want, we can add a post-finalization note to SRFI 145 (or amend
> SRFI 145 in some other way), which specifies that "assume" must signal
> an error unless a feature identifier "unsafe" (or "ndebug" or
> whatever) is set. Or (following SRFI 145's sample implementation) when
> the "debug" feature identifier is set. Implementations shipping SRFI
> 145 are then encouraged to set "debug" by default unless some highly
> optimized build is asked for.
>
> The good thing about passing this on to SRFI 145 (or a successor) is
> that we have a central place to handle this issue, which will come up
> in subsequent SRFIs as well. And implementers of SRFI 189 will know
> that they just have to use the last implementation.

Thinking about it a bit more, I propose the following changes for a
replacement to SRFI 145:

1) Add a predicate "assumption-error?" and a procedure
"assumption-error-irritants".
2) If the feature identifier "debug" is present, "assume" must signal
an error that fulfills "assumption-error?" with the provided irritants
in case its argument evaluates to #f.
3) If the feature identifiers "debug" and "ndebug" aren't present,
"assume" should report a non fulfilled assumption to the user in an
implementation-depended way.
4) If the feature identifier "debug" is not present but "ndebug" is,
the behavior of unfulfilled assumptions is implementation-dependent.
5) Implementations are encouraged to set the feature identifier
"debug" by default.

We would get the best of both worlds if with this change to SRFI 145,
"assume" would be used in "maybe-if" and "maybe-and". The same holds
for future SRFIs.

What do you think?