对于两个点之间的距离,在不更改函数声明的情况下,我一直收到此错误“与预期类型'b'不符合实际类型'a' 'a'是一个刚性类型变量,由 “两点距离,Haskell不改变函数声明?
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
你尝试过申请'realToFrac'到'sqrt'结果的具体原因是什么? – jakubdaniel