On 2008 Aug 27, at 12:12, Jonathan Cast wrote:
* I wonder why that name was chosen? The design doesn't seem to have
anything to do with IO, it's more of a `we have this in C so we want
it
in Haskell too' monad.
As I understand it, "IO" means "anything not encompassed by
equationally-reasoned visible program state". This includes
randomness (the IO-based aspect of which requires process or OS
state). This also encompasses mutable state (e.g. IORefs), since
mutability doesn't fit with equational reasoning. So the name is
perhaps poorly chosen, because it only encompasses the most common
visible application. (And IORefs particularly so, since they're only
so named by analogy with STRefs.)
--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] [EMAIL PROTECTED]
system administrator [openafs,heimdal,too many hats] [EMAIL PROTECTED]
electrical and computer engineering, carnegie mellon university KF8NH
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe