Я еще новичок в Haskell и Я этот кусок кода, но GHC не компилирует и дает мне ошибкуHaskell не может соответствовать типу
Это код:
data QT a = C a | Q (QT a) (QT a) (QT a) (QT a) deriving (Show)
moltiply :: QT a -> Int -> QT a
moltiply (C a) x = (C (a * x))
moltiply (Q a b c d) x = Q (moltiply a x) (moltiply b x) (moltiply c x) (moltiply d x)
И это ошибка я получаю:
Couldn't match expected type ‘a’ with actual type ‘Int’
‘a’ is a rigid type variable bound by
the type signature for multiply :: QT a -> Int -> QT a
at file.hs:12:15
Relevant bindings include
a :: a (bound at file.hs:13:15)
multiply :: QT a -> Int -> QT a
(bound at file.hs:13:1)
In the second argument of ‘(*)’, namely ‘x’
In the first argument of ‘C’, namely ‘(a * x)’