JasonHickeyのObjectiveCaml入門を学んでいます。入れ子関数(カリー化)について質問があります。
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
。
理解しやすいように、常にこの種のロジックマッピングを行う必要がありますか?