【发布时间】:2011-10-27 16:17:15
【问题描述】:
我在尝试将 Vector.Generic.Vector 设为其他类型类的实例时遇到了麻烦(在我的例子中是 Functor)。
我可以满足于向 Vector.Unboxed.Vector 添加一个 Functor 实例,但我也想不出它的语法。 我最好的做法是尝试以下方法:
instance (U.Unbox a, U.Unbox b) => Functor U.Vector where
fmap = U.map
但是编译器(公正地)抱怨“a”和“b”在“=>”之后的任何地方。 我什至可以为 Functor 做这个定义,因为它假设 fmap 允许采用的类型有更多限制?
我在 SO 中发现的大多数东西都太高级了,我无法弄清楚,所以请温柔 :-)
【问题讨论】: