|
|
|
|
|
by Sniffnoy
4865 days ago
|
|
The notation is cumbersome, but I like the visualization. I wish eta-reduction were implemented rather than just beta-reduction. Unfortunately there appear to be some errors. Try entering the following expression: #(##2 1) This, if I've understood the notation correctly, means λx.(λy.λz.y)x. Thus, it should reduce to λx.λz.x, or ##2. However, the program instead reduces it to ##1, or λx.λz.z. So, something's really wrong here. |
|
And, that is definitely a bug, thanks. I think I could solve it by lazy evaluation (it wouldn't reduce that term) but I think I just need to correctly change vars when they move scope.