Debugging Haskell错误:约束中的非类型变量参数:Num(a->;a->;a->;a)
我是Haskell的新手,正在尝试运行我书中的以下示例代码: 整个文件:Debugging Haskell错误:约束中的非类型变量参数:Num(a->;a->;a->;a),debugging,haskell,Debugging,Haskell,我是Haskell的新手,正在尝试运行我书中的以下示例代码: 整个文件: -- my name splitAt1 :: [a] -> ([a], [a]) splitAt1 xs = (take 2 xs, drop 2 xs) 我通过运行生产线进行测试: splitAt1 [1 2 3 4] 其思想是在索引2处将输入数组拆分为两个数组。但是,我得到以下错误: Non type-variable argument in the constraint: Num (a -&g
-- my name
splitAt1 :: [a] -> ([a], [a])
splitAt1 xs = (take 2 xs, drop 2 xs)
我通过运行生产线进行测试:
splitAt1 [1 2 3 4]
其思想是在索引2处将输入数组拆分为两个数组。但是,我得到以下错误:
Non type-variable argument
in the constraint: Num (a -> a -> a -> a)
(Use FlexibleContexts to permit this)
When checking that ‘it’ has the inferred type
it :: forall a a1 a2 a3.
(Num a1, Num a2, Num a3, Num (a1 -> a2 -> a3 -> a)) =>
([a], [a])
有谁能帮我解码错误信息,也许代码有什么问题 函数很好,是您的参数关闭了
尝试
splitAt1[1,2,3,4]
而不是splitAt1[1,2,3,4]
,它应该可以工作。这就是所有的代码吗?什么版本的GHC?似乎无法在这里复制它:是的,这就是所有的代码。它是7.10.2版。代码对我来说在7.10.2版下运行良好。你能粘贴你的整个文件吗?@Sibi我的整个文件都粘贴在上面了。是。。。不多。测试行中的列表应该写为[1,2,3,4]
(注意逗号)。