"|"는 무엇입니까? Haskell 클래스 정의에서? 다음과 같은 클래스 정의에서 "| m-> w"부분이 무엇을 의미하는지 알 수 없습니다. class (Monoid w, Monad m) => MonadWriter w m | m -> w 이것이 클래스 정의에 어떤 추가 정보를 추가합니까? 수직 막대는 의미가없는 구문 구분 기호로 다중 매개 변수 유형 클래스에 기능적 종속성 을 도입 하는 데 사용 되므로 기술적으로 |는 아무 의미도 없습니다. 아마도 기능에 |대한 패턴 가드 에 동일한 기호를 사용하는 시각적 비유로 선택되었을 것입니다. 기능적 종속성 자체에 관한 한, x -> y"유형 매개 변수가 유형 매개 변수를 x고유하게 결정합니다 "로 읽으십시오 y. 즉, 아는 x것만으로도 올바른 인스턴스를 찾을 수..