[Haskell-cafe] Linguistic hair-splitting

Alexander Solla ajs at 2piix.com
Wed Jan 27 22:41:28 EST 2010


On Jan 27, 2010, at 4:57 PM, Conor McBride wrote:

> Yes, the separation is not clear in Haskell. (I consider this  
> unfortunate.) I was thinking of Paul Levy's call-by-push-value  
> calculus, where the distinction is clear, but perhaps not as fluid  
> as one might like.

What, exactly, is the supposed difference between a value and a  
computation?  Please remember that computations can and very often do  
"return" computations as results.  Please remember that in order for a  
function to be computed for a value, binding and computation must  
occur.  And that for every value computed, a computation must occur,  
even if it is "just" under identity the identity function.

Let's not forget that there's a monad for every one-argument (id est,  
monadic) function, and vice-versa.


More information about the Haskell-Cafe mailing list