
On Wed, Jan 31, 2007 at 04:06:07PM +0000, Neil Mitchell wrote:
If we're going to have a strict StateT then it would make sense to have a strict State too. Control.Monad.State.Strict perhaps? (and likewise for the other mtl monads, where appropriate).
For foldl we have foldl and foldl'.
Right, and I'd guess about a dozen other functions dotted around the core libraries.
Why not State and State' ? (refering to type names, not module names)
This would also presumably give us runState' evalState' ... runStateT' evalStateT' ... Existing examples of using .Strict/.Lazy modules are: Control.Monad.ST.Lazy Control.Monad.ST.Strict Data.STRef.Lazy Data.STRef.Strict Data.ByteString Data.ByteString.Lazy Has anyone else got an opinion as to which is preferable? Thanks Ian