多項式を表すtypeclassのshow関数の文字列表現を作成しようとしています。私は 'Char'から '[Char]'へのミスマッチの型エラーを受け取り続けますが、私の理解から、haskellの "append"関数はCharを文字列/ Charに連結することができます。私はどこに問題があるのか、私が受け取ったエラーに基づいて解決策を探すべきかを理解していません。ここに欠陥のあるコードがあります:エラー予想されるタイプ 'Char'と実際のタイプ '[Char]'を一致させることができませんでした。
newtype Poly a = P [a]
instance (Num a, Show a) => Show (Poly a) where
show p = ["" : form (p !! i) i | i <- [l,(l-1)..0]]
where
l = length p
form e i
| i == 0 = elem
| i == 1 = elem ++ "x + "
| otherwise = elem ++ "x^" ++ (show i) ++ " + "
where elem = show e
ご協力いただきありがとうございます。
私はすでにいくつかの問題を見ることができますが、あなたは本当に 'ポリ'の定義を掲示すべきです。 – dfeuer
また、小さなものから始めて、あなたのやり方で作業してください。 'form'関数を(' where'節ではなく)最上位に書くことができますか?これを済ませれば、少しだけビルドすることができます... – dfeuer