2010/7/26 Kevin Jardine <kevinjard...@gmail.com>: > On Jul 26, 3:00 pm, Vo Minh Thu <not...@gmail.com> wrote: > >> Also, just like with IO, maybe restructuring the code to separate >> monadic code would help. > > The specific monad I am dealing with carries state around inside it. > > I could revert to a pure system in many cases by simply passing the > state as a parameter but then that defeats the point of the monad and > clutters up my function calls. > > Also, in other cases, I am using a module that defines its own monads > and have no choice but to use them. > > I think I would prefer a style of programming where monads are equal > citizens to pure function calls. There are various hints that such a > style of programming is possible but as I say, I have not found any > clear tutorials on it.
Maybe you missed the part of my answer hinting to applicative style? LYAH has a chapter about it[0]. There are other resources about it. I believe there is a well-known paper that introduced the idea and is quite readable. RWH uses it with Parsec. [0] http://learnyouahaskell.com/functors-applicative-functors-and-monoids _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe