[Haskell-cafe] (state) monad and CPS
wren ng thornton
wren at freegeek.org
Thu Nov 12 02:17:41 EST 2009
Nicolas Pouillard wrote:
> Excerpts from jean-christophe mincke's message of Tue Nov 10 21:18:34 +0100 2009:
>> do acc <- get
>> put (acc+1)
>> ...
>
> Since this pattern occurs often 'modify' is a combination of get and put:
>
> do modify (+1)
> ...
Though the caveat about laziness applies here as well. modify is
famously lazy which can lead to space leaks and stack overflows. Better
would be to define and use your own strict version:
modify' f = get >>= \x -> put $! f x
--
Live well,
~wren
More information about the Haskell-Cafe
mailing list