是否可以使用 "int -> (int -> int) = <fun>" 类型的表达式?

Is it possible to have an expression with the "int -> (int -> int) = <fun>" type?

对于(int -> int) -> int = <fun>对应的表达式可以是fun x -> (x 1) + 1.
是否可以使用 int -> (int -> int) = <fun> 类型的表达式?如果不是那为什么?

当然可以。你只需要 return 一个函数作为一个值。例如:

let f j = fun i -> j + i;;
val f : int -> int -> int = <fun>

f 1;;
- : int -> int = <fun>

(f 1) 2;;
- : int = 3

Is it possible to have an expression with int -> (int -> int) type?

因为->是右结合的,类型int -> (int -> int) = int -> int -> int,虽然隐含了括号。所以你正在寻找的函数是一个简单的柯里化函数,它有两个参数,例如

let f x y = x + y