我正在使用 Real World Haskell 书。该声明
ghci> import Test.QuickCheck
ghci> generate 10 (System.Random.mkStdGen 2) arbitrary :: [Bool]
结果是
<interactive>:8:1: error:
* Couldn't match expected type `StdGen -> Gen a1 -> [Bool]'
with actual type `IO a0'
* The function `generate' is applied to three arguments,
but its type `Gen a0 -> IO a0' has only one
In the expression: generate 10 (mkStdGen 2) arbitrary :: [Bool]
In an equation for `it':
it = generate 10 (mkStdGen 2) arbitrary :: [Bool]
如果我正确阅读错误,似乎“System.Random.mkStdGen 2”现在正在生成一个单子?我如何让这个声明起作用?
编辑:添加了导入语句以澄清