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 have a little bit of code implementing a recursively searching "megacut" with a clojuresque lambda shorthand: https://hg.sr.ht/~bjoli/megacut/browse/readme.txt?rev=default if there is interest I could codify this as a srfi using cut-like syntax. Currently it is not as hygienic as it could be in how it checks for nested usage, but that is simple to solve. The lambda shorthand cannot be portably implemented. It could be worded in a way to allow for syntax-rules implementation, allowing limiting it to <1> to <10>, <> and <...>. I would not want to write that syntax-rules macro though :) -- Linus Björnstam On Wed, 10 Jun 2020, at 08:16, Marc Nieper-Wißkirchen wrote: > Am Mi., 10. Juni 2020 um 00:19 Uhr schrieb Arne Babenhauserheide > <xxxxxx@web.de>: > > > > Lassi Kortela <xxxxxx@lassi.io> writes: > > > > >>>> (chain (floor/ 5 2) > > >>>> (- <2> <1>)) > > >> > > >> It would be possible by replacing `<2>' with `(<> 2)'. > > > > Could <2> not be a shorthand for (<> 2) — for single-digit numbers? > > That would give brevity and flexibility. > > Sure, you can do > > (define-syntax <2> (identifier-syntax (<> 2))) > > but you will always have a bounded number of such definitions in a > program. That said, `<1>', ..., `<10>' are probably more than enough. > > But being explicit (by naming the intermediate results) is probably > still much better. > > > > >> But at least in this case, `(receive (x y) (floor/ 5 2) (- y x))' is > > >> much clearer (and no new syntax for Scheme programmers). > > > > > > +1. We Schemers are already prone to obfuscating our code with "cadr" > > > and "cdar" instead of giving clear names to the intermediate things :) > > > > How would this look for three steps? Like this? > > > > (receive (a b) (receive (x y) (floor/ 5 2) > > (values (- y x) (+ y x))) > > (* a b)) > > You would use `let*-values': > > (let*-values (((x y) (floor/ 5 2)) > ((a b) (values (- y x) (+ y x)))) > (* a b)) > > I think this is pretty concise and clear. >