При компиляции я получаю следующее сообщение об ошибке:
Повторяющаяся подпись типа:
weightedMedian.hs: 71: 0-39: findVal:: [ValPair] → Double → Double
weightedMedian.hs: 68: 0-36: findVal:: [ValPair] → Int → Double
Мое решение - найти findValI и findValD. Однако findValI просто преобразует тип Int в Double и вызывает findValD.
Также я не могу сопоставлять шаблон по типам Num (Int, Double), поэтому я не могу просто изменить подпись типа на
findVal :: [ValPair] -> Num -> Double
На многих языках мне не нужны разные имена. Зачем мне нужны разные имена в Haskell? Было бы трудно добавить к этому языку? Или там есть драконы?