需要具有haskell关联类型同义词

时间:2016-11-27 13:09:02

标签: haskell typeclass associated-types

是否可以要求某个类的关联类型同义词是某个其他类的实例?例如。使用类似下面的代码(不编译!):

class Test a where
  type Foo a
  instance Show (Foo a)

无论有问题的Foo a如何,我都可以依赖Show a能够这样做的事实。

显然我可以在类中添加更多方法以确保在Foo a上运行我想要的操作,但是能够重用现有的类会很好。

1 个答案:

答案 0 :(得分:1)

找到答案,感谢#haskell上的lyxia:

class (Show (Foo a)) => Test a where
  type Foo a