2013-02-05 27 views
0
(.) :: (b -> c) -> (a -> b) -> a -> c 
f . g = \x -> f(g x) 

我不太明白如何讀取函數類型。如何閱讀操作員。函數類型

  • (b -> c)是一個函數需要一個參數B,返回C,I假設這是函數f
  • (a -> b)是一個函數具有自變量的,返回B,I假設這是函數g

不知道如何在(b - >ç)c和一個在(一個 - > b)的涉及一個 - >ç

任何幫助將不勝感激,謝謝!

回答

5

也許是更好的parenthesise多一點,

(.) :: (b -> c) -> (a -> b) -> (a -> c) 

和閱讀:

(.)有兩個參數,類型

  • 一個函數(fb -> c
  • 一種功能(g)類型a -> b

並返回a -> c類型的函數(f . g)。

參數類型所得到的函數的a(.)的第二個參數(g,其被首先應用到的f . g的參數)的參數的類型,和組合物的結果類型是的結果類型(.)的第一個參數(f,然後將其應用於參數g的應用結果)。

+0

感謝Daniel,這非常有道理。 – user342673