Carregando funções assinaturas haskell
Recebo a seguinte mensagem de erro ao compilar:
Assinatura de tipo duplicado:
weightedMedian.hs: 71: 0-39: findVal :: [ValPair] -> Duplo -> Duplo
weightedMedian.hs: 68: 0-36: findVal :: [ValPair] -> Int -> Duplo
minha solução é ter findValI e findValD. No entanto, findValI apenas converte o tipo Int em Double e chama findValD.
Também não consigo correspondência de padrões nos tipos de Num (Int, Double), então não posso simplesmente alterar a assinatura do tipo para
findVal :: [ValPair] -> Num -> Double
Em muitos idiomas, eu não precisaria de nomes diferentes. Por que preciso de nomes diferentes no Haskell? Isso seria difícil de adicionar ao idioma? Ou existem dragões lá?