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。類定義中的管道是什麼意思?
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。類定義中的管道是什麼意思?
其實這是一個「functional dependency」。在這種情況下,這意味着m
唯一標識w
- 類型m
確定類型w
。 (This可能是更好的鏈接。)
可能的重複[什麼是「|」在Haskell類定義?](http://stackoverflow.com/questions/2675655/whats-the-for-in-a-haskell-class-definition) – 2011-04-19 01:36:25