2013-04-05 8 views
6

は、私は私のニーズに合った、このコードがあります。ハスケルで[IO Int]をIO [Int]に変換しますか?

f :: [IO Int] -> IO [Int] 
f [] = return [] 
f (x:xs) = do 
    a <- x 
    as <- f xs 
    return (a:as) 

をしかし、私はそこ(MSUM?)

事前に定義された方法だろう。しかし、私はどのように見ることができませんthougth。

何か歓迎致します。 Thx

答えて

22

はい、標準ライブラリのsequenceという名前で入手できます。それはあなたのfMonad m => [m a] -> m [a]よりも一般的なタイプです。それはのどのタイプにも使用でき、IOにしか適用されません。

[IO a] -> IO [a]Hoogleに検索すると、自分で見つけることができます。

+0

ありがとうミハイル、まさに私が必要なもの – asbxl

関連する問題