我正在學習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
。
我應該總是做這種邏輯映射以便於理解嗎?