Re: [Haskell-cafe] Newbie: State monad example questions

On Fri, May 23, 2008 at 2:20 PM, Thomas Hartman
The big benefit I got from using the State Monad was that I was able to reorder the functions > by just copy/pasting the function name from one place to another.
I don't understand... why do you need state to do this? Couldn't you have a function pipeline using dots for composition like
.... ( ... parseAttn . parsePoBox . ... ) address ...
and have the functions be equally switchable? (well, the first and last can't quite be copy pasted, but close enough.)
Introducing state seems like a lot of trouble to me if the only one is easier reorderability of lines.
Agreed, in fact I started with a function pipeline and then switched to using the State Monad. As the program was written months ago I don't remember exactly why. Maybe I don't like to read backwards. ;-) Funtions running in the state monad can call other functions with the same `State s a` signature (and so on as deep as you want). You never have to care about passing parameters and restarting a new pipeline. But of course you can easily do without the State Monad. I don't think the State Monad allows to do thing that you can't do with basic Haskell. It just makes code more readable (in my opinion at least). Olivier.
participants (1)
-
Olivier Boudry