2
在這個例子中http://web.archive.org/web/20080622204226/http://www.cs.vu.nl/boilerplate/瞭解SYB樣板消除
-- Increase salary by percentage
increase :: Float -> Company -> Company
increase k = everywhere (mkT (incS k))
-- "interesting" code for increase
incS :: Float -> Salary -> Salary
incS k (S s) = S (s * (1+k))
給出如何來增加功能,編譯沒有結合在它的類型簽名提到的第一個公司什麼。
是否像分配給部分函數?爲什麼這樣做?
起初可能不太清楚,但它是咖喱功能程序的基本屬性之一,並被每位經驗豐富的功能程序員視爲良好實踐。 – Martijn 2010-04-08 11:51:12