[Haskell-cafe] IO semantics and evaluation - summary
dmehrtash at gmail.com
Fri Feb 13 14:31:06 EST 2009
I have been trying to figure out the distinction between value, function and
computation. You raised a few points that I am not sure about.
In " "Computation" considered harmful. "Value" not so hot either." you said:
I still don't like it; a lambda expression is not a computation, it's a
formal *representation* of a mathematical object (a *value*).
Isn't the lambda expression a representation of something (potentially with
recursion) that yields "a value" and not the value itself? Even integer
which we think of as values are represented in the same way:
In " Fixing Haskell IO" you say:
This "works" well enough; GHC manages to perform IO. But it doesn't fly
> mathematically. Mathematical objects *never* act, sing, dance, or *do*anything. They just are. A value that acts is an oxymoron.
I guess I am not sure what a "mathematical object" is. Do you consider
Newton method a mathematical object? What would be the "value" :
Since I have been thinking about Haskell, Monads, etc. I am starting to
think about the saying "Life is a journey, not a destination" to imply life
is a computation not a value.
2009/2/13 Gregg Reynolds <dev at mobileink.com>
> Many thanks to everybody who tried to set me straight on the thread about
> IO monad and evaluation semantics. I've begun summarizing the info, and I
> believe I've come up with a much better way of explaining IO; just flip the
> semantic perspective, and think in terms of interpretations instead of
> actions. Voila! Oxymoron (values that perform actions) eliminated. See
> the "Computation considered harmful" and "Fixing Haskell IO" articles at
> Naturally I would be grateful for any corrections/comments.
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe