は、私がこの電子ブック(http://www.cs.cornell.edu/riccardo/prog-smlnj/notes-011001.pdf)は理解が
-fun curry (f:'a * 'b -> 'c) = fn (x:'a) => fn (y:'b) => f (x,y);
val curry = fn : ('a * 'b -> 'c) -> 'a -> 'b -> 'c
方法からピックアップ一例であるカリー化についてのヘルプが必要です私はこの機能を解釈しますか?カレーは引数として 'a *' b - > 'c型の関数fをとります。私は '='の後の部分を理解できません。結合順序は何ですか?ここで
は別の例である:
fun add’ (x:int) (y:int):int = x + y;
これが解析される方法は?
ウィキペディアでは、「カリー化は、引数が1つの関数の連鎖として呼び出すことができるように、複数の引数(またはn個の引数のタプル)をとる関数を変換する技法です)」。単一の議論はどれですか:複数の議論のうちの最初か最後の議論ですか?
で得られた関数を呼び出し、
(foo 1) 2
として解析されるであろう。だから、これはあなたを助けるかもしれないhttp://stackoverflow.com/questions/3794371/haskell-currying-need-further-explanation – Matt@マット:私はそれを読んだ後にもっと混乱しました:)リンクをありがとう。 – Bruce