Is there any reason not to add an Arrow specification?
https://wiki.haskell.org/Typeclassopedia#Arrow
Happy to work on it if it hasn't been picked up before somewhere I haven't seen.
Arrow:
Generalization of a computation a i o with input i and output o.
Given it depends on Category it will have id and compose (<<<).
Then we need arr, first, second, split (aka ***) and fanout (aka &&&).
ArrowChoice
Depends on Arrow. Let us choose which arrows to execute, as opposed to all of them
Adds left, right, multiplex (aka +++), fanin (aka |||).
ArrowApply
Depends on Arrow. Let us use an arrow resulting from a previous computation in our execution path.
Adds app.
ArrowLoop
Depends on Arrow. Let us use arrows which feed output themselves, enabling recursion.
Adds loop.
Is there any reason not to add an Arrow specification?
https://wiki.haskell.org/Typeclassopedia#Arrow
Happy to work on it if it hasn't been picked up before somewhere I haven't seen.
Arrow:
Generalization of a computation
a i owith inputiand outputo.Given it depends on Category it will have
idandcompose(<<<).Then we need
arr,first,second,split(aka ***) andfanout(aka &&&).ArrowChoice
Depends on Arrow. Let us choose which arrows to execute, as opposed to all of them
Adds
left,right,multiplex(aka +++),fanin(aka |||).ArrowApply
Depends on Arrow. Let us use an arrow resulting from a previous computation in our execution path.
Adds
app.ArrowLoop
Depends on Arrow. Let us use arrows which feed output themselves, enabling recursion.
Adds
loop.