Monad Maybe?

Hal Daume III hdaume@ISI.EDU
Mon, 23 Sep 2002 14:57:45 -0700 (PDT)


I know this has been written about way too much, but I was wondering what
people thought about using 'liftM f' as opposed to '>>= return . f'.  I
would probably have written Andrew's code using liftM, but I don't know if
one is necessarily better than the other.  Does anyone have strong
thoughts on this?

--
Hal Daume III

 "Computer science is no more about computers    | hdaume@isi.edu
  than astronomy is about telescopes." -Dijkstra | www.isi.edu/~hdaume

On Sun, 22 Sep 2002, Andrew J Bromage wrote:

> G'day all.
> 
> On Sat, Sep 21, 2002 at 12:56:13PM -0700, Russell O'Connor wrote:
> 
> > case (number g) of
> >  Just n -> Just (show n)
> >  Nothing ->
> >   case (fraction g) of
> >    Just n -> Just (show n)
> >    Nothing ->
> >     case (nimber g) of
> >      Just n -> Just ("*"++(show n))
> >      Nothing -> Nothing
> 
> This isn't exactly the most beautiful way of doing it, but...
> 
> 	(number g   >>= return . show) `mplus`
> 	(fraction g >>= return . show) `mplus`
> 	(nimber g   >>= return . ('*':) . show)
> 
> Cheers,
> Andrew Bromage
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>