Hello Jeff, Thursday, February 7, 2008, 4:17:27 AM, you wrote:
> logical place for mutable arrays. However, I don't understand the > motivation for implementing it in IO. Were mutable arrays added to > IO because it would be difficult to write code that does both IO and > manipulates arrays otherwise? yes. you can't perform separate ST actions in IO monad, you may call only entire computations with pure results - the same as you can do from pure code IO monad implements idea of sequencing actions and it is used ro "import" any actions written in other languages (C/C++ in most cases). ST monad is just the same internally but it was directive limited to only two types of actions - with variables and mutable arrays. this, together with some type tricks ensures that its results are referentially-transparent and therefore may be called from pure code -- Best regards, Bulat mailto:[EMAIL PROTECTED] _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe