関数の宣言を変更せずに、2つの点の間の距離について、予想される型 'b'と実際の型 'a'を一致させることができません。 'a'は、 以下のための署名:」2点距離、関数宣言を変更せずにハスケル?
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
あなたは 'sqrt'の結果に' realToFrac'を適用しようとしている使用することはできませんなぜ特定の理由はありますか? – jakubdaniel