哈斯克爾玩弄了一下後,我偶然發現了這個功能:Haskell的類型系統將數值視爲函數?
Prelude Data.Maclaurin> :t ((+) . ($) . (+))
((+) . ($) . (+)) :: (Num a) => a -> (a -> a) -> a -> a
(Data.Maclaurin由包向量空間出口)。所以它需要一個民,功能,另一個民最終收益一個數字。以下工作有什麼魔力?
Prelude Data.Maclaurin> ((+) . ($) . (+)) 1 2 3
6
2顯然不是一個函數(a-> a)還是我錯過了某些東西?
http://www.haskell.org/haskellwiki/Num_instance_for_functions – sdcvvc 2010-03-24 13:52:20