[Haskell-cafe] Building pattern and trying monads

Roman Cheplyaka roma at ro-che.info
Mon May 28 19:18:31 CEST 2012


* Yves Parès <yves.pares at gmail.com> [2012-05-28 11:28:22+0200]
> > observe $ flip runStateT 10 $ (put 0 >> mzero) <|> modify (+3)
> >   ((),13)
> 
> If the only thing you need is backtracking, using LogicT might be a little
> overkill, using Maybe in the bottom of you monad stack suits just fine:
> 
> case flip runStateT 10 $ (put 0 >> mzero) <|> modify (+3) of
>     Just x -> ....
>     Nothing -> ....

Indeed, I didn't realise that Maybe may be (no pun intended) sufficient here!

-- 
Roman I. Cheplyaka :: http://ro-che.info/



More information about the Haskell-Cafe mailing list