
Do you know about the Church encoding?
I don't quite understand your encoding. Consider your cons function:
cons = \x xs f z. f (\_. x) (\f' _. xs f' z);
1. Why do you pass (\_. x) instead of x to f? This looks like an attempt
to delay evaluation of x, but by the time cons is applied, x must
have been evaluated already due to CBV.
2. Why do you ask for a new f' but ignore the new z' (as compared to f
and z)?
Also, your interpreter doesn't seem to finish in a reasonable time on
your own input.
Roman
* flicky frans
Hello. I am currently writing lists with lazy semantics in the pure lambda-calculus with call-by-value reduction strategy. Here is an example: http://pastebin.com/SvQ5hCSD Here is a simple interpetator: http://pastebin.com/mejCWqpu Am I reinventing the wheel? Are there some sources, from where i can learn more about lazy evaluation in the strict languages? _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe