[Haskell-cafe] Join and it's relation to >>= and return

Jerzy Karczmarczuk karczma at info.unicaen.fr
Wed Jun 9 03:39:03 EDT 2004

Iavor S. Diatchki wrote:

> Ron de Bruijn wrote:
>> I am pretty sure, that >>= is to monads what * is to
>> for example natural numbers, but I don't know what the
>> inverse of >>= is. And I can't really find it anywhere
>> on the web(papers, websites, not a single sole does
>> mention it.  
> this is not quie correct.  (join & return) for a monad are like
> (*,1) or (+,0) for the set of integers.  however those operations on
> integers have more structure than join and return.
> there is no operation for "inverse". in mathematical terms:
> monads are a monoid (given that the notion is generalized considerably
> from its usual use), and not a group. if one was to add such an operation
> (i am not sure what it would do), but it would be of type:
> inverse :: M a -> M a (and of course must satisfy some laws)

I have *nothing* to add, just a question.
Do you /anybody/ know of any edible work on ADJUNCTIONS in the context of
Haskell structures? Perhaps instead of searching for 'inverses' one should
think more about adjoints?...

Jerzy Karczmarczuk

More information about the Haskell-Cafe mailing list