generated at
sequence関数
Traversable型クラスのmethodの1つ
sequenceAのMonad版

定義
hs
sequence :: (Traversable t, Monad m) => t (m a) -> m (t a) sequence = mapM id
traverseを2段階で具体化したような関数
traverse(Applicative)を1段階具体化すると、mapM(Monad)になり
mapMを1段階具体化して、sequenceになっている
だから、traverseの意味がわかれば、sequeceの意味は自動的にわかるmrsekut
「かなり単純化したtraverse」ぐらいに解釈すれば良いmrsekut
データ構造 t と計算コンテナ m を入れ替えているだけ


使用例
[[a]] [[a]]
hs
sequence [[1], [2], [3]] -- [[1,2,3]]
[Maybe a] Maybe [a]
hs
sequence [Just 5, Just 100] -- Just [5,100] sequence [Just 5, Nothing, Just 100] -- Nothing