[Haskell-cafe] IO semantics and evaluation - summary
Roman Cheplyaka
roma at ro-che.info
Fri Feb 13 14:52:17 EST 2009
* Daryoush Mehrtash <dmehrtash at gmail.com> [2009-02-13 11:31:06-0800]
> Isn't the lambda expression a representation of something (potentially with
> recursion) that yields "a value" and not the value itself?
The same terms may refer to different notions.
If you think of values as mathematical objects, they are denotation of
syntactic constructs (value 1 is denotation of "1", as well as of
"(\x -> x-2) 3").
However, in operational (rather than denotational) semantics, "1" is
value (result of evaluation; normal form) of "(\x -> x-2) 3", and is
itself a syntactic construct.
So, you really need to define (and understand) your terms before talking
about them.
> Even integer which we think of as values are represented in the same
> way:
> http://safalra.com/science/lambda-calculus/integer-arithmetic/
Church numerals are introduced in _untyped_ lambda calculus, while we
are probably talking about _typed_ lambda calculus (as implemented in
Haskell). In the later integers usually are introduced as a basic type.
--
Roman I. Cheplyaka :: http://ro-che.info/
"Don't let school get in the way of your education." - Mark Twain
More information about the Haskell-Cafe
mailing list