On 27 Aug 2009 at 07:48, Ralf Hinze wrote:
> \ x -> (v >>= \ a -> return ((u x) a)) x
> = { definition of >>= }
> \ x -> (\ a -> return ((u x) a)) (v x) x
>
Something seems to have gone wrong here - shouldn't that be
\x -> (\y -> (\a -> return ((u x) a)) (v y) y) x
= { beta }
\x -> (\a -> return ((u x) a)) (v x) x
?
... but then we appear to end up in the same place. Now all I've got to do is
figure out what you were trying to establish in the first place. :-)
I don't entirely follow what the OP's up to, so you may have a point, but it's
far from clear. You're talking about the reader monad, whereas he's talking
about the effects in the ReaderT-transformed monad.
--
Iain Alexander [email protected]
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe