다항식을 나타내는 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
또한 작게 시작해서 길을 가야합니다. 자체 형식 시그니처가있는 최상위 레벨 ('where' 절이 아닌)에'form' 함수를 작성할 수 있습니까? 일단 당신이 그것을하면, 당신은 조금을 만들 수 있습니다 ... – dfeuer