我一直试图做的Haskell中2nd Project Euler problem,但我已经得到:Occurs check: cannot construct the infinite type: a = [a]
出现,请检查:无法构造无限类型:A = [A]
fibonacci 0 _ = 0
fibonacci 1 _ = 1
fibonacci x xs = (xs!!(x-2)) + (xs!!(x-1))
fibonaccisLessThan = takeWhile(<40) $ foldr fibonacci [] [0..]
sumOfEvenFibonaccis = sum $ filter even $ fibonaccisLessThan
main = putStrLn $ show $ sumOfEvenFibonaccis
有人能告诉我为什么吗?
如果你能给错误的路线,那将是很好的。作为一个侧面说明,当你有多个'$'时,你通常希望使用合成来优雅。 – alternative 2011-04-03 11:41:14