|
|
1
5
我会做一些更像这样的事情,让randomRs用一个初始的RandomGen来完成工作:
至于懒惰,这里发生的是
其类型为:
它映射函数,给出一个
在对前面问题的回答中可以更好地解释这一点: Is Haskell's mapM not lazy? |
|
|
2
12
随机数一般不严格,但
这里的问题是
如果您只是想要一个随机数流,那么您需要生成列表,而不必为每个数使用monad。我不完全清楚为什么要使用现有的设计,但基本思想是:给定一个种子值,使用伪随机数生成器生成一对1)一个随机数2)一个新种子,然后用新种子重复。当然,任何给定的种子每次都会提供相同的序列。所以,你可以使用这个函数
事实上,
如果出于某种原因你想自己做,你想要的基本上是
展开
把它放进
|