我正在学习Jason Hickey's Introduction to Objective Caml。只是有一个关于嵌套函数(柯里化)的问题。了解嵌套函数的逻辑的更好方法(柯里格)
有一个存在的问题How to understand the "Currying" in Haskell?,但我想我正在寻求一个稍微不同的问题的答案。
它说,我们可以写let sum = fun i j -> i + j;;
为let sum = fun i -> fun j -> i + j;;
我的问题很简单:
我可以理解这样的上述定义:let sum = fun i -> i + fun j -> j;;
?
我知道它不会通过编译器,但我只是试图将这种OCaml function definition
映射到mathematics functions
。
在我上面的想象中,我们可以轻松地在数学中编写函数f(i) = i + g(j); and g(j) = j
。
我应该总是做这种逻辑映射以便于理解吗?