繁体   English   中英

Haskell混淆中的嵌套Let语法

[英]Nested Let syntax in haskell confusion

main = let sumSquares = sum (map (^2) [1..100]) 
           squaredSum = sum [1..100] ^ 2 
           in sumSquares - squaredSum

Haskell的新手,所以我一直在回溯Euler项目。 我知道我的解决方案是合理的,并且在我不打扰任何情况下都可以使用。

由于某种原因,这给了我一条错误消息。 你能帮我吗? 谢谢!

您已选择将此词命名为main ,而没有为其指定正确的类型。 具有main项的Haskell模块应使用IO ()类型定义它,但是您已经给了它一个类似于Num a => a的表达式-由于Haskell正在寻找某种排序,因此会发生此错误。使IO ..成为Num实例的方式,实际上不是。

尝试命名其他名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM