Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 主函数错误_Haskell - Fatal编程技术网

Haskell 主函数错误

Haskell 主函数错误,haskell,Haskell,我是Haskell的新手,仍在尝试学习一些语法/习惯用法。有人能解释一下我在这段代码中做错了什么吗main应打印出5个随机数的列表。这可以在GHCi中找到,但不能在文件中找到。我错过了什么 import System.Random main = newStdGen >>= print . take 5 . randomRs (1,10) 当你编译这个时,你会得到 约束中不明确的类型变量“a0” 这是因为在ghci中,1和10的类型默认为整数,但编译器没有相同的默认规则 因为你在

我是Haskell的新手,仍在尝试学习一些语法/习惯用法。有人能解释一下我在这段代码中做错了什么吗
main
应打印出5个随机数的列表。这可以在GHCi中找到,但不能在文件中找到。我错过了什么

import System.Random

main = newStdGen >>= print . take 5 . randomRs (1,10)

当你编译这个时,你会得到

约束中不明确的类型变量“a0”

这是因为在ghci中,
1
10
的类型默认为整数,但编译器没有相同的默认规则

因为你在做任何其他事情之前先打印它们,所以它无法推断类型

例如,您只需添加一个显式类型签名

main = newStdGen >>= print . take 5 . randomRs (1::Int,10)

在描述问题时,请比“它不起作用”更具体。它编译吗?如果是,它会运行吗?它是否产生了与您预期不同的输出?