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:  http://safalra.com/science/lambda-calculus/integer-arithmetic/

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" :  http://en.wikipedia.org/wiki/Newton's_method#Square_root_of_a_number


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. 



daryoush


2009/2/13 Gregg Reynolds <dev@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 http://syntax.wikidot.com/blog

Naturally I would be grateful for any corrections/comments.

Thanks,

gregg

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe