import Data.List
range :: (Double,Double)->(Double,Double)-> Double
range (x1,y1) (x2,y2) = sqrt((y2-y1)^2 + (x2-x1)^2)
list = sort [range (1.0,1.0) (1.0,4.0), range (1.0,1.0) (3.0, 1.0), range (3.0,1.0) (1.0,4.0)]
test = a == b
where a = (head(reverse list))^2
b = ((head (tail list))^2 + (head list)^2)
Получается, что а=13.0, b =13.0, но test возвращает false. В чем дело?