0
我不能讓下面的編譯:類約束
class Typeable f => Foo f where
data Bar :: Typeable
換句話說,我希望定義一個類Foo
,其中有一個相關的類型必須是Typeable
一個實例。
它看起來像我可以FunctionalDependencies
定義同樣的事情:
class (Typeable b,Typeable f) => Foo f b | f -> b where
那麼,如何可以做同樣的事情與TypeFamilies
?
你的意思是聯營型,或相關數據?所不同的是非常基本的,而這個問題使許多更有意義,如果你的意思是相關聯的類型。也就是說,類定義中的「類型Bar ...」。與fundeps的比較僅適用於相關數據。 – Carl 2014-12-02 21:52:41
實際要求是更象相關聯的數據,由於'Bar'會在同一時間作爲'Foo'實例來限定。 – 2014-12-02 22:08:12