Ich versuche, eine fmap für diesen Typ zu schreiben
data Triangle a = Triangle {t0 :: Point a, t1 :: Point a, t2 :: Point a}
wobei Punkt definiert ist als
data Point a = Point {px :: a, py :: a, pz :: a}
Und meine Instanz def ist
instance Functor Triangle where
fmap f (Triangle v0 v1 v2) = Triangle (f v0) (f v1) (f v2)
Ich erhalte die folgende Fehlermeldung und kann nicht herausfinden, warum
C:\\Scripts\\Haskell\\Geometry.hs:88:1:
Occurs check: cannot construct the infinite type: a = Point a
When generalising the type(s) for \`fmap'
In the instance declaration for \`Functor Triangle'
Irgendwelche Ideen?