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

Reply via email to