[Haskell-cafe] Mutable arrays
Bulat Ziganshin
bulat.ziganshin at gmail.com
Thu Feb 7 05:29:48 EST 2008
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:Bulat.Ziganshin at gmail.com
More information about the Haskell-Cafe
mailing list