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

时间:2010-12-27 23:33:23

标签: 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
   ]

1 个答案:

答案 0 :(得分:8)

假设a保证长度为100,我认为你想要的是generate a = filter isCorrect $ sequence asequence monad中使用了[]来生成列表列表的笛卡尔积。