Für den Abstand zwischen zwei Punkten, ohne die Funktionsdeklaration zu ändern, erhalte ich diesen Fehler "Konnte nicht den erwarteten Typ 'b' mit dem tatsächlichen Typ 'a' 'a' ist eine feste Typvariable, die durch den Typ gebunden ist Unterschrift für:“Zwei Punkte Abstand, Haskell ohne Änderung der Funktionserklärung?
type Point a = (a,a)
distance :: (Real a, Floating b) => Point a -> Point a -> b
distance (x1,y1) (x2,y2) = sqrt ((dx * dx) + (dy * dy))
where dx = x2 - x1
dy = y2 - y1
haben Sie versucht, die Anwendung 'realToFrac' auf das Ergebnis der' sqrt' verwenden kann? – jakubdaniel