|
Brian Salomon
Lambda Calculus Assignment1. XOR = LxLy (x (y F T) (y T F)) (XOR T F) (XOR T T)
2. val T = fn x => fn y => x;
3. I was unable to get this to work because ml put type restrictions on my implementation of XOR ('a->'a->'a)
4. val d = fn x => print 4; 4val it = 5 : int Eager
5. No, ml binds types so it rejects val a = fn x => x x; because nothing can be inferred about the type of x. Even if ml accepted this the evaluation would not terminate because of eager evaluation |