爲什麼部分應用不同簽名的功能有效?局部應用說明 - 加入
以Control.Monad.join
爲例:
GHCi> :t (=<<)
(=<<) :: Monad m => (a -> m b) -> m a -> m b
GHCi> :t id
id :: a -> a
GHCi> :t (=<<) id
(=<<) id :: Monad m => m (m b) -> m b
它爲什麼會接受到位(a -> m b)
說法id :: a -> a
,因爲他們有明顯的不同?
聽起來簡單明瞭,謝謝。是否從返回值以某種方式推斷= << id的最後簽名以匹配函數參數的其餘部分? – 2012-08-13 16:41:15
@大衛是的,我相信這基本上是正確的。 – 2012-08-13 16:50:48