Haskell and algebra

Gustavo Villavicencio gustavov@ucse.edu.ar
Mon, 11 Aug 2003 12:52:41 -0300 (ART)


Frank Atanassow said:
> Gustavo Villavicencio wrote:
>
>  > Hi all,
>  >
>  > I am trying to understand the algebraic laws and operators
>  > behind a functional expression...
>  >
>  > f >>= g \equiv g* . f
>  >
>  > in the Kleisli Star context. Is this right?
>
> Yep.
>
>  > If it is so, can I combine g*.f with a fork for example?
>
> What do you mean by a "fork"?

Jeremy Gibbons in "Conditional in distributive categories", among
others, calls fork to the operator typed as

 f /_\ g : A -> B x C

where f : A -> B and g : A -> C. In other literature it is also
called split operador: <f,g>
 So, the question is, if i have

 f : A -> T B and g : A -> T C

where T is a monad, i.e. an endofunctor, can i combine f and g as

 <f,g> : A -> T (BxC)

knowing that T involves side effects?


>
> Regards,
> Frank

Regards,
gustavo