IO作为副作用

时间:2013-02-23 17:37:07

标签: haskell io

我能写一个执行IO的函数作为它的副作用吗?例如:

f :: Int -> Int
f n = putStr "text" >> return n*2

显然我没有任何方法可以编写代码而不完全不正确,但这至少应该显示我正在寻找的内容。

1 个答案:

答案 0 :(得分:11)

你的功能几乎是正确的。如果它有副作用,那么它需要类型IO。此外,功能应用程序绑定比中缀更严格。将这些结果修复为:

f :: Int -> IO Int
f n = putStr "text" >> return (n*2)