SRFI 197: Threading Macros
Arthur A. Gleckler
(09 Jun 2020 03:41 UTC)
|
First comments
Marc Nieper-Wißkirchen
(09 Jun 2020 06:48 UTC)
|
Re: First comments
Linus Björnstam
(09 Jun 2020 07:27 UTC)
|
Re: First comments
Marc Nieper-Wißkirchen
(09 Jun 2020 08:30 UTC)
|
Re: First comments
Adam Nelson
(09 Jun 2020 13:25 UTC)
|
Re: First comments
Marc Nieper-Wißkirchen
(09 Jun 2020 14:06 UTC)
|
Re: First comments
Lassi Kortela
(09 Jun 2020 14:12 UTC)
|
Re: First comments
Marc Nieper-Wißkirchen
(09 Jun 2020 15:28 UTC)
|
Re: First comments
Marc Nieper-Wißkirchen
(09 Jun 2020 16:05 UTC)
|
Re: First comments
Adam Nelson
(09 Jun 2020 16:15 UTC)
|
Re: First comments
Marc Nieper-Wißkirchen
(09 Jun 2020 16:22 UTC)
|
Re: First comments
Arne Babenhauserheide
(09 Jun 2020 17:03 UTC)
|
Re: First comments
Adam Nelson
(09 Jun 2020 17:16 UTC)
|
Re: First comments
Marc Nieper-Wißkirchen
(09 Jun 2020 17:22 UTC)
|
Re: First comments
Lassi Kortela
(09 Jun 2020 17:31 UTC)
|
Re: First comments
Marc Nieper-Wißkirchen
(09 Jun 2020 17:40 UTC)
|
Re: First comments
Arne Babenhauserheide
(09 Jun 2020 22:19 UTC)
|
Re: First comments
Marc Nieper-Wißkirchen
(10 Jun 2020 06:16 UTC)
|
Re: First comments
Linus Björnstam
(10 Jun 2020 07:17 UTC)
|
Re: First comments
Marc Nieper-Wißkirchen
(10 Jun 2020 07:38 UTC)
|
Re: First comments
Linus Björnstam
(10 Jun 2020 08:21 UTC)
|
Re: First comments
Marc Nieper-Wißkirchen
(10 Jun 2020 08:42 UTC)
|
Re: First comments
Linus Björnstam
(15 Jun 2020 19:50 UTC)
|
Re: First comments
Marc Nieper-Wißkirchen
(15 Jun 2020 20:09 UTC)
|
Re: First comments
Linus Björnstam
(16 Jun 2020 11:39 UTC)
|
Re: First comments
Arne Babenhauserheide
(10 Jun 2020 07:53 UTC)
|
Re: First comments
Marc Nieper-Wißkirchen
(10 Jun 2020 08:04 UTC)
|
Re: First comments
Marc Nieper-Wißkirchen
(09 Jun 2020 17:44 UTC)
|
Re: First comments
Adam Nelson
(09 Jun 2020 17:46 UTC)
|
Re: First comments
Marc Nieper-Wißkirchen
(09 Jun 2020 17:49 UTC)
|
Re: First comments
Arvydas Silanskas
(09 Jun 2020 07:40 UTC)
|
Named procedure; RE: SRFI 197: Threading Macros
Arne Babenhauserheide
(09 Jun 2020 13:40 UTC)
|
Re: Named procedure; RE: SRFI 197: Threading Macros
Adam Nelson
(09 Jun 2020 13:48 UTC)
|
Re: Named procedure; RE: SRFI 197: Threading Macros
Marc Nieper-Wißkirchen
(09 Jun 2020 14:09 UTC)
|
Re: Named procedure; RE: SRFI 197: Threading Macros
hga@xxxxxx
(09 Jun 2020 14:16 UTC)
|
Re: Named procedure; RE: SRFI 197: Threading Macros
Lassi Kortela
(09 Jun 2020 14:42 UTC)
|
Re: Named procedure; RE: SRFI 197: Threading Macros
Marc Nieper-Wißkirchen
(09 Jun 2020 14:48 UTC)
|
Re: Named procedure; RE: SRFI 197: Threading Macros
hga@xxxxxx
(09 Jun 2020 15:10 UTC)
|
Re: Named procedure; RE: SRFI 197: Threading Macros
Marc Nieper-Wißkirchen
(09 Jun 2020 15:25 UTC)
|
Re: Named procedure; RE: SRFI 197: Threading Macros
Arne Babenhauserheide
(09 Jun 2020 15:47 UTC)
|
Re: Named procedure; RE: SRFI 197: Threading Macros
Marc Nieper-Wißkirchen
(09 Jun 2020 15:58 UTC)
|
Re: Named procedure; RE: SRFI 197: Threading Macros
Adam Nelson
(09 Jun 2020 16:21 UTC)
|
Re: Named procedure; RE: SRFI 197: Threading Macros
Marc Nieper-Wißkirchen
(09 Jun 2020 16:46 UTC)
|
Re: Named procedure; RE: SRFI 197: Threading Macros
Adam Nelson
(09 Jun 2020 17:13 UTC)
|
Re: Named procedure; RE: SRFI 197: Threading Macros
Marc Nieper-Wißkirchen
(09 Jun 2020 17:35 UTC)
|
Re: Named procedure; RE: SRFI 197: Threading Macros
John Cowan
(11 Jun 2020 00:59 UTC)
|
Re: Named procedure; RE: SRFI 197: Threading Macros
hga@xxxxxx
(09 Jun 2020 16:58 UTC)
|
Re: Named procedure; RE: SRFI 197: Threading Macros
Lassi Kortela
(09 Jun 2020 17:00 UTC)
|
Re: Named procedure; RE: SRFI 197: Threading Macros
Arne Babenhauserheide
(09 Jun 2020 17:00 UTC)
|
Re: Named procedure; RE: SRFI 197: Threading Macros
Marc Nieper-Wißkirchen
(09 Jun 2020 15:17 UTC)
|
Usecase: chaining operations after "optionals"
Arne Babenhauserheide
(09 Jun 2020 17:18 UTC)
|
Re: Usecase: chaining operations after "optionals"
Adam Nelson
(09 Jun 2020 17:24 UTC)
|
Re: Usecase: chaining operations after "optionals"
Marc Nieper-Wißkirchen
(09 Jun 2020 17:48 UTC)
|
Re: Usecase: chaining operations after "optionals"
Adam Nelson
(09 Jun 2020 17:55 UTC)
|
Re: Usecase: chaining operations after "optionals"
Marc Nieper-Wißkirchen
(09 Jun 2020 19:11 UTC)
|
Re: Usecase: chaining operations after "optionals"
Arne Babenhauserheide
(09 Jun 2020 22:08 UTC)
|
Re: Usecase: chaining operations after "optionals"
Marc Nieper-Wißkirchen
(10 Jun 2020 06:11 UTC)
|
Re: Usecase: chaining operations after "optionals"
Arne Babenhauserheide
(10 Jun 2020 08:03 UTC)
|
Re: Usecase: chaining operations after "optionals"
Marc Nieper-Wißkirchen
(10 Jun 2020 08:10 UTC)
|
Association list utilities
Lassi Kortela
(10 Jun 2020 08:24 UTC)
|
Re: Association list utilities
Marc Nieper-Wißkirchen
(10 Jun 2020 08:30 UTC)
|
Re: Association list utilities
Lassi Kortela
(10 Jun 2020 08:49 UTC)
|
Re: Association list utilities
Marc Nieper-Wißkirchen
(10 Jun 2020 09:29 UTC)
|
Re: Association list utilities
Lassi Kortela
(10 Jun 2020 09:59 UTC)
|
Re: Association list utilities
Marc Nieper-Wißkirchen
(10 Jun 2020 10:09 UTC)
|
Re: Association list utilities
Lassi Kortela
(10 Jun 2020 10:37 UTC)
|
Re: Association list utilities
Arne Babenhauserheide
(10 Jun 2020 10:33 UTC)
|
Re: Usecase: chaining operations after "optionals"
Arne Babenhauserheide
(10 Jun 2020 09:16 UTC)
|
Re: Usecase: chaining operations after "optionals"
Marc Nieper-Wißkirchen
(10 Jun 2020 09:19 UTC)
|
Re: Usecase: chaining operations after "optionals"
Lassi Kortela
(10 Jun 2020 09:29 UTC)
|
Re: Usecase: chaining operations after "optionals"
Marc Nieper-Wißkirchen
(10 Jun 2020 09:42 UTC)
|
More on association lists (and other key-value collections) Lassi Kortela (10 Jun 2020 10:16 UTC)
|
Re: More on association lists (and other key-value collections)
Marc Nieper-Wißkirchen
(10 Jun 2020 10:42 UTC)
|
Re: More on association lists (and other key-value collections)
Arne Babenhauserheide
(11 Jun 2020 00:41 UTC)
|
Re: More on association lists (and other key-value collections)
Marc Nieper-Wißkirchen
(11 Jun 2020 10:07 UTC)
|
Re: Usecase: chaining operations after "optionals"
Arne Babenhauserheide
(10 Jun 2020 10:28 UTC)
|
Re: Usecase: chaining operations after "optionals"
Marc Nieper-Wißkirchen
(10 Jun 2020 10:32 UTC)
|
> I think convenience procedures like `alist-ref` or `assoc?` should not > make the distinction. Then they can return a single value. > > If `alist-ref' is to appear in any SRFI*, it should actually take a > failure argument as it is common with all the other `-ref' procedures. > (See my other post for the corresponding xlist example.) Sounds reasonable. > SRFI 189 > `lisp->maybe` can be used to convert that value to a Maybe. > > That would hardly be helpful at this stage because we would have already > lost the distinction between a false entry and a missing association. Ah, you are right. A `(maybe-assoc key alist)` would be in order. And `maybe-list-ref`, `maybe-hash-table-ref`, etc. IMHO, the RnRS `assoc` procedure sets a precedent that xlist and alist should be regarded as the same data type. It returns the cdr, which in an xlist's case is the full list of values for the given key. For most people, hash-tables are a natural collection type since they can't contain duplicate keys and the single-value case is eaiest to express. Lisp is kind of funny in that alists came first, and those are more specialized with support for duplicates and the multiple-value case is easier to express (the natural `cdr` or a cons is a proper list, and improper lists are something special). So an API that "pretends" that an alist is like a "normal" collection (single value, no duplicate keys) is useful. As is an API that "pretends" that a "normal" collection like a hash-table is in fact a multiple-value collections :) > In any case, alist convenience procedures are commonly needed enough > that they'd be better off not depending on fancier things like > Maybe/Either. Alist stuff is useful with R7RS-small, or even with > subsets of that language. > > It's all about control- vs data-driven workflows. In the former case, > we are looking for a failure argument; in the latter case we want to use > Maybe's or overload #f. Perhaps both are useful. RnRS specifies `assoc` and exceptions (and multiple values), so minor variations on that are a natural starting point. > *Lassi, would you be interested to write such a SRFI together with me? > (Not in the very near future because there are still some I have to wrap > up, but also not too far in the future). I think we would complement > each other quite well. I'm thinking of a SRFI that organizes an > interface to alists and xlists (help me with a better prefix) in the > same shape as all the other interfaces for data structures we have in > R7RS-large (SRFI 125, SRFI 146, ...). Sure, sounds great, and agreed! Arne has expressed an interest in standardizing alist stuff previously as well, so we should also include him if he wants to join in. A survey of existing alist procedures would be good preparation. I don't know of any semi-standard library other than the RnRS, SRFI 1, and SLIB ones which are minimal. We could do a quick check of the major implementations' manuals.