사용자 정의 유형 Subst a를 사용하여 통합과 관련된 문제를 해결하려고합니다. 이 문제는 읽습니다.유형이 하스켈의 다른 클래스에 이미 존재하는 경우 하나의 클래스에만 존재할 수 있도록 지정
"형식 클래스를 정의하십시오.이 클래스 내부의 모든 형식에 대해 (Subst a) 함수를 unify해야합니다. a : a -> a -> Eq 및 Substitutable 클래스에 이미있는 경우 Unifiable 클래스 여야하며 을 정의에 나타내야합니다. "
이 내가 Unifiable 지금까지 대체 가능한 정의와 한 방법입니다
class Substitutable a where
subst :: Subst a -> a -> a
class Unifiable a where
unify :: a -> a -> Maybe (Subst a)
을하지만, 나는 그것이 이미있는 경우에만이 Unifiable 클래스에있을 수있는 유형을 지정에 대해 이동하는 방법을 잘 모르겠어요 Eq 및 Substitutable 클래스.
이 특정 문제에 대한 답변을 찾고 싶지 않지만 일반적으로 유형 지정은 다른 클래스에 이미있는 경우 한 가지 유형으로 만 지정할 수 있습니까?
감사합니다.