私の質問は、のsequence
関数についてですPrelude
。その署名は次のとおりです。
sequence :: Monad m => [m a] -> m [a]
List
この関数がsに対してどのように機能するかを理解していますMaybe
。たとえば、に適用sequence
する[Just 3, Just 9]
とJust [3, 9]
。
sequence
sを適用するList
とList
、デカルト積が得られることに気付きました。誰かが私がこれがどのように/なぜ起こるのかを理解するのを手伝ってくれますか?