6
'UnMaybe'유형 패밀리를 수행하려하지만 컴파일되지 않습니다 (인스턴스 패밀리가 충돌 함). 여기 유형 패밀리에서 충돌하는 인스턴스를 해결하는 방법은 무엇입니까?
내 코드입니다{-# LANGUAGE TypeFamilies #-}
type family UnMaybe a :: *
type instance UnMaybe (Maybe a) = a
type instance UnMaybe a = a
오류 메시지
test.hs:4:16:
Conflicting family instance declarations:
type instance UnMaybe (Maybe a)
-- Defined at test.hs:4:16
type instance UnMaybe a
-- Defined at test.hs:5:15
가 작동하지 않는 이유를 이해
, 어쨌든 느릅 나무의 뜻을 활성화하기 위해 동일한 결과를 얻을 수있는 또 다른 방법 (또는 연장이 허용입니다 그것?)
가족을 폐쇄 무엇을위한 것입니다 – mb14