类定义中的管道是什么意思?

lun*_*ain 28 syntax haskell types typeclass functional-dependencies

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 () 
Run Code Online (Sandbox Code Playgroud)

上面的管道是什么意思?片段来自这里.

And*_*ffe 24

实际上,这是一种" 功能依赖 ".在这种情况下,这意味着m唯一标识w- 类型m确定类型w.(可能是一个更好的链接.)