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