[Haskell-beginners] Re: clarification on IO

Gregg Reynolds dev at mobileink.com
Sun Mar 1 09:57:04 EST 2009

On Sun, Mar 1, 2009 at 4:28 AM, Will Ness <will_n48 at yahoo.com> wrote:

> Michael Easter <codetojoy <at> gmail.com> writes:
> ...
> After all, we can have a definition of such a value, and have it run
> multiple
> times for us, so _as definition_ it's no different than any other
> definition in
> Haskell. It's just that _its value_ can cause the system to actually
> perform
> these IO actions in some circumstances.

But it isn't a definition.  "Reference" would be better; "getChar" is a term
that references a value.

> As for terminology: we've got to have some special name for functions that
> are
> chainable by bind. Calling them actions confuses them with the real world
> actions performed by IO.

Correction:  special name for IO "functions" (actually "IO terms" would be
better).  The monad just organizes stuff, so the IO monad, as monad, is no
different than any other monad.

> May be to call them "action functions"?

This was a big problem for me; I find terms like "action", "computation",
"function" completely misleading for IO terms/values.  You might find
considered harmful. "Value" not so hot
either<http://syntax.wikidot.com/blog:5>useful; see also the comment
"Another try at the key sentence".  There are a
few other articles on the blog that address this terminology problem.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/beginners/attachments/20090301/e0ccb0b8/attachment.htm

More information about the Beginners mailing list