
Hello,
Just to clarify, I wasn't suggesting that the the monad is strict in
the state component, but rather that it is strict in the pair
containing the result and the state. This is a fine but important
distinction. I doubt it will break many programs, because the API to
the state monad always creates well formed pairs, even something like
'mfix return' is OK.
-Iavor
On 11/22/05, Udo Stenzel
Yitzchak Gale wrote:
Lack of laziness is also a serious problem that a user cannot avoid. In my case, I have to completely rewrite StateT, otherwise it is totally unusable. This is definitely a bug.
I disagree. If an operation is lazy, there is absolutely nothing you as a user can to to change that. I've been bitten by that more than once. If an operation is too strict (which I have yet to encounter), you can always wrap the offending data in another constructor.
Udo. -- I'm not prejudiced, I hate everyone equally.
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux)
iD8DBQFDgyPyc1ZCC9bsOpURApYGAKCWQGLinm2r2ex0aQS+t1bE9+wHDACZAWpI cozKJqXa1qGzTlUHsy1uHIw= =7qbK -----END PGP SIGNATURE-----