list - Haskell对函数调用感到沮丧

标签 list haskell types monads

学习Haskell杀死了我。如果我要编写一个函数,该函数采用可排序元素数组的数组并输出相同的内容,该怎么做?

我尝试:

main = testfn [[1],[2]]

testfn :: (Ord a) => [[a]] -> [[a]]
testfn x = x

但是我得到的消息是:

Couldn't match expected type 'IO t0' with actual type '[[a0]]' In the expression: main When checking the type of the function 'main'

最佳答案

您的问题是main必须是IO a形式的类型(您可以在错误中看到这一点-GHC期望main的推断类型[[a0]]IO t0匹配)。此处main的类型为[[Int]]。您只需打印结果即可轻松解决此问题:

main = print (testfn [[1],[2]])

关于list - Haskell对函数调用感到沮丧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7476285/

相关文章:

haskell - Haskell类型错误消息

types - 函数定义中的 Julia where 语句

python - 如何在 Python 中创建 3 位数字的每种组合的列表?

c++ - 我是否需要保护对 std::list(多线程)C++ 中不同键的访问

Haskell 无法将预期类型与实际类型相匹配

haskell - 使用 Lens 过滤复合结构

haskell - 为什么这里的早期术语不被垃圾收集?

haskell - Haskell 中缀数据类型构造函数的语法规则

java - 使用对象 ID 列表的顺序对对象列表进行排序

python,在特定范围内随机排列列表数组?