Я пытаюсь взять полиномиальное представление в виде списка (например, [3, 2, 1] - 3x^2 + 2x + 1) и оценить его, выполнив применить к полиному и число для x. Полином оценивается для x.Ожидаемый тип, но «Num a» имеет вид «GHC.Prim.Constraint»
Это мой код:
newtype Poly a = P [a]
apply :: Num a => Poly a -> Num a -> Num a
apply (P p) x = if (i > 0) then (x * ((head p)^i)) + (apply (P (tail p)) x) else p
where i = length p
Проблема, когда я пытаюсь скомпилировать этот код, я получаю сообщение об ошибке, что я не понимаю:
Ожидаемый тип, но ' Num а»имеет вид 'GHC.Prim.Constraint'
В сигнатуре типа для 'применить':
применяются :: Num а => Poly а -> Num А -> Num
Спасибо, это было !, плохо согласен, когда это позволяет мне –