学习Haskell正在杀了我.如果我要编写一个函数,它接受一个可订单元素数组,并输出相同的东西,我该怎么做?
我尝试:
main = testfn [[1],[2]]
testfn :: (Ord a) => [[a]] -> [[a]]
testfn x = x
Run Code Online (Sandbox Code Playgroud)
但我得到的信息是:
无法将预期类型'IO t0'与实际类型'[[a0]]'匹配在表达式中:main检查函数'main'的类型时
这里你的问题是main
必须是一种形式IO a
(你可以在错误中看到这一点 - GHC期望主要的推断类型[[a0]]
匹配IO t0
).这里main
有类型[[Int]]
.您只需打印结果即可轻松解决此问题:
main = print (testfn [[1],[2]])
Run Code Online (Sandbox Code Playgroud)