Everybody is claiming that using lift is a bad thing.
So, I come to remedy this problem.

Stop lifting, start using shinny operators like this one:

    (^$) :: Monad m => m a -> (a -> b -> c) -> m b -> m c
    (^$) = flip liftM2

Then you can do wonderful stuff and you will never read the four-letter
word in your code again:

    \> Just 42 ^$(+)$ Nothing
    Nothing
    \> Just 10 ^$(+)$ Just 20
    Just 30
    \> let add = (+)
    \> Just 30 ^$ add $ Just 12
    Just 42
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to