如何将 [IO X] 转换为 IO [X]?

3
我有一种叫做X的数据类型和一个返回IO [X]的函数,但是我的计算目前返回[IO X]。是否有一种通用的方法可以将[IO X]转换为IO [X]?

5
https://www.haskell.org/hoogle/?hoogle=%5BIO+x%5D+-%3E+IO+%5Bx%5D - melpomene
我不知道Hoogle可以这样使用。 - Paul
1个回答

5

使用sequence函数。

例如:

> sequence [return 1, return 2]
[1,2]

5
没错,但更好的选择是使用sequenceA(更为通用,因此养成使用它的习惯更好)。 - Gabriel L.
2
@GabrielL。我期望在某个时候将sequence作为sequenceA的同义词。是的,在AMP之后,实际上没有理由使用Monad约束版本而不是Applicative约束版本。 - leftaroundabout

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接