3

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

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

显然,我没有任何方法可以编写完全不正确的代码,但这至少应该大致显示我想要做什么。

4

1 回答 1

11

你的功能几乎是正确的。如果它有副作用,那么它需要 type IO。此外,函数应用程序的绑定比中缀更紧密。修复这些结果:

f :: Int -> IO Int
f n = putStr "text" >> return (n*2)
于 2013-02-23T17:44:15.587 回答