为什么在OCaml中使用curried函数,而不是在Java中

时间:2016-02-16 23:19:50

标签: java ocaml currying

我注意到在OCaml中我们可以使用像

这样的currying函数
let add = 
    fun y -> (fun x -> x + y)  
;;

但我的教授表示Java中不允许使用这种格式。例如,给定方法foo1,foo2执行时可以返回foo1。这是一个有效的解释吗?如果没有,是什么导致了Java和OCaml之间的这种差异?

int foo1(int a, ...) {
    int foo2(...) {
        //main body         
    }
}

1 个答案:

答案 0 :(得分:1)

教授应该多出更多。参见例如Does java support Currying?(答案是肯定的)。