任务输入设置在Haskell中的列表推导中

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)

Rei*_*ton 8

假设a保证长度为100,我想你想要的是generate a = filter isCorrect $ sequence a.这sequence是在[]monad中用于生成列表列表的笛卡尔积.