Re: Named procedure; RE: SRFI 197: Threading Macros
Marc Nieper-Wißkirchen 09 Jun 2020 15:25 UTC
Am Di., 9. Juni 2020 um 17:10 Uhr schrieb <xxxxxx@ancell-ent.com>:
> Pipelining in CPUs is quite removed from programming in as high a
> level language as a Lisp, and another reason I prefer it to sequencing
> is that the former fits better with passing data from a to b to c. To
> me it has more of a data connotation than sequencing, which could for
> example be for side effects, like sequencing a fireworks show.
Scheme is not a pure language and all procedure calls have potentially
side effects. So the matters for the side effect as well.
Another established name that probably catches both of the meanings
(passing arguments "in a pipeline" and the computational aspect)
better maybe the monadic "bind", which is also used in Haskell. This
is also pretty short.
In fact, what we are doing here is modeling something like the trivial
monad (the underlying functor is the identity). From this point of
view, `->' is exactly the `bind' operation (together with some sugar).
Thinking about this, there is a lot of value to make all this
consistent and not to have a zillion overlapping syntaxes and
approaches. What do you think? Could we even turn `->' (under whatever
name) into something that is applicable to any monad we have defined
and we are going to define?