下面是我從這個電子書(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
如何拿起一個例子我是否解釋這個函數?咖喱作爲一個函數f的類型'a *'b - >'c的參數。我無法理解'='之後的部分。關聯性命令是什麼?
下面是另一個例子:
fun add’ (x:int) (y:int):int = x + y;
這是如何解析?
Wikipedia說「currying是一種轉換函數的技術,它可以將多個參數(或n元組參數)轉換爲一個函數鏈,每個函數都有一個參數(部分應用程序)」。哪一個是唯一的參數:多個參數中的第一個或最後一個?
我不得不在Haskell同樣的問題所得到的函數。因此,這可以幫助你http://stackoverflow.com/questions/3794371/haskell-currying-need-further-explanation – Matt
@馬特:我讀它:)感謝您的鏈接後雖然得到了更多的困惑。 – Bruce