-3
plus1 :: [Integer] -> [Integer] -> [Integer]
plus1 (x:xs) remain
| (x==0) && (remain==1) = [1] ++ (plus1 xs (remain-1))
| (x==1) && (remain==1) = [0] ++ (plus1 xs remain)
| (x==0) && (remain==0) = [0] ++ (plus1 xs 0)
| (x==1) && (remain==0) = [1] ++ (plus1 xs 0)
| otherwise = []
발생 (NUM [정수]) '의 두 번째 인수 리터럴에서'1 '없음 인스턴스 (NUM [정수]) 없음 인스턴스 • 리터럴에서 '1'
• 발생한 (==) ', 즉'는 식 1 '
번째 인수'(& &) ", 즉"(유지 == 1) '
을 (X == 0) & & (남은 == 1)
인 경우 'remaining'은'[Integer] '로 표시되지만'== '와'1 '을 비교하면'Integer'가됩니다. 아마도'remain'의 타입 시그니처는'plus1 :: [Integer] -> Integer -> [Integer]'로 의도 되었습니까? –
내 모든 고마워,이 질문에 대한 답변을하므로 –