Hey,
This is as minimal as I could get it. It typechecks, so I guess it's a
problem with eval.
:eval..
let ap
= \(f : Int R0# -> Int R0#).
\(x : Int R0#).
f x
in
let id = ap (\(x:Int R0#).x) in
()
;;
* OFF THE RAILS!
Type mismatch in let-binding.
The binder: id
has type: Int R0# -(!0 | Use R0#)> Int R0#
but the body has type: Int R0# -> Int R0#
when checking: let id : Int R0# -(!0 | Use R0#)> Int R0#
= \(x : Int R0#).L2# x in ()
--
Disciple-Cafe mailing list
http://groups.google.com/group/disciple-cafe