2009-01-30 9 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

[가능한 | 하스켈 클래스 정의에 대한?] (http://stackoverflow.com/questions/2675655/whats-the-for-in-a-haskell-class-definition) –

답변

22

실제로는 "functional dependency"입니다. 이 경우 mw을 고유하게 식별 함을 의미합니다. m 유형은 w을 결정합니다. (This이 더 나은 링크 일 수 있습니다.)