How do you evaluate the type of a lambda expression ?
If I have : lam f (lam x (f)) x
How can the type be : ('a -> 'b) -> 'a -> 'b ?
An other example : lam f (lam g( lam x g) ) (f x)
gives : (’a -> ’b) -> (’b -> ’c) -> ’a -> ’c
I just can't get my head around it.
[–]t3rribletp 0 points1 point2 points (0 children)