[Haskell-cafe] Re: monad subexpressions

Claus Reinke claus.reinke at talk21.com
Fri Aug 3 14:47:20 EDT 2007


> mytransaction = do {
>  x0 <- readTVar xvar0
>  x1 <- readTVar xvar1
>  :
>  xn <- readTVar xvarn
>  return $ foo x0 x1 .. xn
> }
> 
> Versus
> 
> mytransaction = return $ foo $(readTVar xvar0) $(readTVar xvar1) ..
> $(readTVar xvarn)

ah, a concrete example. but isn't that the typical use case for ap?

mytransaction = foo `liftM` r xvar0 `ap` r xvar1 ..
    where r = readTVar

claus



More information about the Haskell-Cafe mailing list