how to convert IO String to string---- still have questions

Glynn Clements glynn.clements@virgin.net
Sun, 24 Nov 2002 20:42:31 +0000


Nick Name wrote:

> This approach is called "monads" and is needed because haskell is a lazy
> language, so order of evaluation is unspecified, while input/output
> usually needs a precise order of evaluation.

It is needed because Haskell is a functional language, where functions
are referentially transparent, so the result of applying a function to
an argument depends only upon the function and the argument, and not
upon some hidden "state".

Even if Haskell were strict, you still wouldn't be able to treat I/O
operations as functions without discarding referential transparency.

> Maybe someone has to suggest some simple article on monads.

	"What the hell are Monads?"
	http://www.dcs.gla.ac.uk/~nww/Monad.html

-- 
Glynn Clements <glynn.clements@virgin.net>