[Haskell-cafe] Question on nested State monads.
Albert Y. C. Lai
trebla at vex.net
Sun Dec 29 15:26:12 UTC 2013
On 13-12-28 09:24 PM, David Banas wrote:
> If I want to use a second, nested State monad inside another State monad, must I thread the outer monad’s state through the processing of the inner one, even if the inner one falls out of scope before I return from the processing body of the outer one?
I do not know what the whole sentence "must I ... the outer one" is
talking about. But why don't you go scientific and use concrete
experiments to find out? Here is a starter:
import Control.Monad.State
main = print answer
answer :: (Bool, Char)
answer = evalState (evalStateT program True) 't'
program :: StateT Bool (State Char) (Bool, Char)
program = do
bool <- get
char <- lift get
return (bool, char)
More information about the Haskell-Cafe
mailing list