Hi all, I am trying to understand the algebraic laws and operators behind a functional expression. So, for example, I can understand that the standard length function is a catamorphism,
(| [_0, succ . \pi_2] |) where _0 is a constant function, . is the function composition, \pi_2 is a projection, and [] is a coproduct. Obviously, the type is 1 + A x A* -> Int ([A] -> Int in haskell). But, what about the actions? Behind these we have monads like algebraic structures. So, in the next expression f >>= g where we suppose that there is a T monad (endofunctor) involved, we can assume that f : a -> T b, g : b -> T c and g* : T b -> T c. therefore f >>= g \equiv g* . f in the Kleisli Star context. Is this right? If it is so, can I combine g*.f with a fork for example? gustavo _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
