14 Nov
2006
14 Nov
'06
3:31 p.m.
On 11/13/06, Ashley Yakeley <ashley@semantic.org> wrote:
Yes, the Kleisli type "Kleisli a b = a -> m b" is an Arrow. No, it's not the same, since "a -> m b" is not an Arrow on a and b (it's not of the form "arrow a b").
Apparently the type is transparent, though... Prelude Control.Arrow Control.Monad> :t (return 4) >>> flip replicateM (return ()) (return 4) >>> flip replicateM (return ()) :: (Monad m) => b -> m [()] -- Taral <taralx@gmail.com> "You can't prove anything." -- Gödel's Incompetence Theorem