Dan*_*l O 1 haskell list-comprehension ghc
我如何在Haskell中使用列表推导中的任意输入集?
我会举一个例子说明我所追求的:
generate :: [[[Integer]]] -> [[[Integer]]]
generate a = [ result |
i1 <- a !! 0,
i2 <- a !! 1,
i3 <- a !! 2,
i4 <- a !! 3,
...
i99 <- a !! 99,
let result = [i1,i2,i3,i4, ..., i99],
isCorrect result
]
Run Code Online (Sandbox Code Playgroud)
假设a保证长度为100,我想你想要的是generate a = filter isCorrect $ sequence a.这sequence是在[]monad中用于生成列表列表的笛卡尔积.