【发布时间】:2016-11-03 13:39:11
【问题描述】:
我是使用 Haskell 语言编程的初学者。我对在 Haskell 中编写函数感兴趣,它有这样的副作用(出于教育目的,它可能有另一个副作用):
-- function foo behaves like random numbers generator
foo :: Int
{- foo = some magic -}
-- It can print True or False
print $ show (foo /= foo)
据我了解,我必须实现具有这种行为的某些类型的 Monad 实例(例如:IO Why are side-effects modeled as monads in Haskell?)。但我真的不明白如何为此目的编写简单的函数示例。
【问题讨论】:
-
嗯,您希望我们做什么?你已经知道你需要学习处理 Monads,所以继续阅读你目前正在使用的 Haskell 简介!
-
Int不是函数的类型。这只是一个数字。 -
我只想看一些例子,这些例子展示了这种行为的实现
-
好的,如果我理解你的话,你想看看在 Haskell 中如何实现随机数生成器?
-
是的,例如一些简化版本。据我了解,有用于实现副作用的 IO 类型
标签: haskell monads side-effects