main = let sumSquares = sum (map (^2) [1..100])
squaredSum = sum [1..100] ^ 2
in sumSquares - squaredSum
Haskell的新手,所以我一直在回顾Project Euler。我知道我的解决方案是合理的,当我不打扰任何让它时,它会起作用。
出于某种原因,这给了我一条错误信息。你能帮我吗?谢谢!
答案 0 :(得分:3)
您已选择为此术语main
命名,但未指定正确的类型。带有main
术语的Haskell模块应该使用IO ()
类型定义它,但是由于Num a => a
,您已经为它指定了类似-
的表达式发生此错误是因为Haskell正在寻找某种方法使IO ..
成为Num
的实例,但它不是。
尝试将其命名为其他内容。