Я сделал эту функцию, чтобы вычислить общее расстояние списка точек.
distancia :: [(Float,Float)] -> Float
distancia [] = 0
distancia [x] = 0
distancia (x:y:xs) = aux + distancia (y:xs)
where aux = sqrt ((fst y - fst x)^2 + (snd y - snd x)^2)
ghci> distancia [(0,0), (0,0), (1,0), (1,10)]
11.0
ghci> distancia [(1,1), (3,4)]
3.6055512
Я сделал с рекурсией, но теперь мне нужно сделать эту точную, но с использованием функций более высокого порядка, map,фильтр или сложить, я новичок в haskell и не знаю, как начать. Любая помощь? Спасибо