Sun Jun 17 01:04:01 EDT 2018

"fix" and Arrow

class Arrow a => ArrowLoop a

The loop operator expresses computations in which an output value is
fed back as input, although the computation occurs only once. It
underlies the rec value recursion construct in arrow notation. loop
should satisfy the following laws:

a (b, d) (c, d) -> a b c 

So my "fix" operator in Seq is loop.  Is that useful?  Maybe it isn't,
because I can't really fix pure functions.  There is always a delay.
I've been here before..

Why would I use arrows instead of just tucking things away in a monad?