このタイプの fmap を書き込もうとしています
data Triangle a = Triangle {t0 :: Point a, t1 :: Point a, t2 :: Point a}
ここで、ポイントは次のように定義されます
data Point a = Point {px :: a, py :: a, pz :: a}
そして、私のインスタンス定義は
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 のインスタンス宣言内
何か案は?