Haskell 主函数错误
我是Haskell的新手,仍在尝试学习一些语法/习惯用法。有人能解释一下我在这段代码中做错了什么吗Haskell 主函数错误,haskell,Haskell,我是Haskell的新手,仍在尝试学习一些语法/习惯用法。有人能解释一下我在这段代码中做错了什么吗main应打印出5个随机数的列表。这可以在GHCi中找到,但不能在文件中找到。我错过了什么 import System.Random main = newStdGen >>= print . take 5 . randomRs (1,10) 当你编译这个时,你会得到 约束中不明确的类型变量“a0” 这是因为在ghci中,1和10的类型默认为整数,但编译器没有相同的默认规则 因为你在
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)
在描述问题时,请比“它不起作用”更具体。它编译吗?如果是,它会运行吗?它是否产生了与您预期不同的输出?