多項式のインスタンス、(coeffs、fromCoeffs、coeffsB、fromCoeffsBを実装したい)に、(PolyA a)と(PolyB a)を設定しようとしています。自分の関数が多項式のクラスには見えないというエラーメッセージが表示されるので、何が間違っているのかよく分かりません。助けてください?ハスケル型クラスのインスタンス化
class Polynomial p where
--default implementations
data PolyA a = Coeffs [a]
deriving (Show)
data PolyB a = Const a | X (PolyB a) a
deriving (Show)
--instances
instance Polynomial (PolyA a) where
coeffs (Coeffs f)=f
fromCoeffs f= Coeffs f
instance Polynomial (PolyB a) where
coeffsB (Const f)= [f]
coeffsB (X f a)= coeffsB f ++ [a]
fromCoeffsB [] = error "Wrong Input!"
fromCoeffsB [f]= Const f
fromCoeffsB [email protected](_:t)= X (fromCoeffsB (init lis)) (last lis)
'class'宣言で関数を定義していません。 – user2407038