2009-01-30 27 views
21
class (Monoid w, Monad m) => MonadWriter w m | m -> w where 
    pass :: m (a,w -> w) -> m a 
    listen :: m a -> m (a,w) 
    tell :: w -> m() 

上面的管道是什麼意思?該片段來自here類定義中的管道是什麼意思?

+1

可能的重複[什麼是「|」在Haskell類定義?](http://stackoverflow.com/questions/2675655/whats-the-for-in-a-haskell-class-definition) – 2011-04-19 01:36:25

回答

22

其實這是一個「functional dependency」。在這種情況下,這意味着m唯一標識w - 類型m確定類型w。 (This可能是更好的鏈接。)

相關問題