In ML...
- let val h = fn f => f (Var("x"))
val y = gensym ()
in Abs(y, h (Var(y)))
end;
Error: operator and operand don't agree
operator domain: exp -> 'Z
operand: exp
in expression: h (Var y)
- let val h = fn f => f (Var("x"))
val y = gensym ()
in Abs(y, h (fn z => App(Var(y), z)))
end;
> val it = Abs ("x1",App (Var "x1",Var "x")) : exp
Previous slide
Next slide
Back to first slide
View graphic version