我正在尝试为这种类型编写 fmap
data Triangle a = Triangle {t0 :: Point a, t1 :: Point a, t2 :: Point a}
其中 Point 定义为
data Point a = Point {px :: a, py :: a, pz :: a}
我的实例 def 是
instance Functor Triangle where
fmap f (Triangle v0 v1 v2) = Triangle (f v0) (f v1) (f v2)
我收到以下编译错误,我不知道为什么
C:\Scripts\Haskell\Geometry.hs:88:1: 发生检查:无法构造无限类型:a = Point a 概括“fmap”的类型时 在 `Functor Triangle' 的实例声明中
有任何想法吗?