Hello Federico,

Wednesday, May 30, 2007, 12:54:35 PM, you wrote:

> Control.Monad.ST
> And
> Control.Monad.State

ST monad is just reduced IO monad which like IO organizes sequential
(imperative) ordr of execution but unlike IO supports only a small
closed set of operations - those working with STRef and STArray

State monad provides just two operations - get and put, which provides
access to some "monad state". unlike ST/IO monads operations in State
monad (and all other monads) can be performed in any order as typical
for lazy computations. of course, there are guarantees that put
operation will be performed before get that reads appropriate state

you may be interested looking at http://haskell.org/haskellwiki/IO_inside
although it doesn't say about ST/State monads directly

(btw, there is also Lazy.ST monad but it is not used too much :)


-- 
Best regards,
 Bulat                            mailto:[EMAIL PROTECTED]

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to