Maybe macros
John Cowan
(26 Jun 2020 17:16 UTC)
|
Re: Maybe macros
Marc Nieper-Wißkirchen
(26 Jun 2020 17:43 UTC)
|
Re: Maybe macros
John Cowan
(26 Jun 2020 18:48 UTC)
|
Re: Maybe macros
Marc Nieper-Wißkirchen
(26 Jun 2020 18:57 UTC)
|
Re: Maybe macros
John Cowan
(27 Jun 2020 04:29 UTC)
|
Re: Maybe macros
Arthur A. Gleckler
(26 Jun 2020 19:50 UTC)
|
Re: Maybe macros
John Cowan
(26 Jun 2020 19:52 UTC)
|
Re: Maybe macros
Wolfgang Corcoran-Mathe
(27 Jun 2020 03:44 UTC)
|
Re: Maybe macros
Arthur A. Gleckler
(27 Jun 2020 03:59 UTC)
|
Re: Maybe macros
Wolfgang Corcoran-Mathe
(27 Jun 2020 04:15 UTC)
|
Re: Maybe macros
Arthur A. Gleckler
(27 Jun 2020 04:29 UTC)
|
Re: Maybe macros Wolfgang Corcoran-Mathe (27 Jun 2020 14:09 UTC)
|
Re: Maybe macros
John Cowan
(27 Jun 2020 18:55 UTC)
|
Re: Maybe macros
Marc Nieper-Wißkirchen
(27 Jun 2020 20:46 UTC)
|
Re: Maybe macros
John Cowan
(27 Jun 2020 21:34 UTC)
|
Re: Maybe macros
Wolfgang Corcoran-Mathe
(28 Jun 2020 17:26 UTC)
|
Re: Maybe macros
Marc Nieper-Wißkirchen
(28 Jun 2020 17:43 UTC)
|
Re: Maybe macros
Wolfgang Corcoran-Mathe
(28 Jun 2020 18:52 UTC)
|
Re: Maybe macros
Marc Nieper-Wißkirchen
(28 Jun 2020 20:24 UTC)
|
Re: Maybe macros
John Cowan
(28 Jun 2020 18:54 UTC)
|
Re: Maybe macros
Marc Nieper-Wißkirchen
(28 Jun 2020 20:21 UTC)
|
Re: Maybe macros
Alex Shinn
(29 Jun 2020 00:02 UTC)
|
Re: Maybe macros
Marc Nieper-Wißkirchen
(29 Jun 2020 06:23 UTC)
|
Re: Maybe macros
Wolfgang Corcoran-Mathe
(28 Jun 2020 16:54 UTC)
|
I also suggest the addition of the follow Either macros, with semantics analogous to those of the Maybe macros: * (either-and either-expr ...) * (either-or either-expr ...) * (either-let* (claw ...) body) It might be objected that the either-and/-or forms make less sense than their Maybe counterparts, since the latter are, in a sense, translations of Scheme and/or to the "Maybe protocol". These macros are not merely logical operations, though; they have a control role similar to that of SRFI 165's computation-each (and Haskell's >> or sequence_). This SRFI lacks maybe-/either-each and -each-in-list procedures analogous to those of SRFI 165, and the reason for this seems clear to me; as Scheme *procedures*, they aren't very useful. Following 165, the expression (maybe-each-in-list maybes) would simply return Nothing if one occurred among the maybes, and the value of the last element of maybes otherwise. This is just list-searching,[*] and is roughly equivalent to (truth->maybe (every just? maybes)). While this isn't very useful, I believe there are many cases in which we would like to sequentially evaluate Maybe/Either-valued *expressions* until we hit Nothing/a Left. The Schemely solution is to provide the -and, -or, and -let* macros for both Maybe and Either. Regards, Wolfgang [*] Incidentally, either-each seems more useful; no similar one-liner comes to mind for getting the first Left and otherwise the last Right of a list of Eithers. -- Wolfgang Corcoran-Mathe <xxxxxx@sigwinch.xyz> "If one is searching for a needle in a haystack, look in the part of the haystack that contains more needles." --Bird & Wadler