Sun Jun 17 01:41:02 EDT 2018
It would be just Kleisli.
But basically, after Conal indoctrination, I really like the
applicative version more. Functions, be it monadic functions, seem to
make more sense.
But maybe just try it?
While the exact mathematics doesn't seem to have been worked out
exactly yet, it is well known that Applicative+Category has "about
the same" expressiveness as Arrows.
Using Strong from profunctors, you can prove Strong + Category has
exactly the same expressiveness.
gives most of the story and
the rest, but you need to read between the lines and see that using
Category gives you a way to model monads in Prof.
class (Strong p, Category p) => Arrow p
instance (Strong p, Category p) => Arrow p
There. I fixed it.
So basically, forget arrows.