我想要一個帶有兩個任意類型列表並返回一個(即f:: [[a]] -> [[a]] -> [[a]]
)的函數。基本上,也會產生兩個輸入列表的「連接」。Haskell中列表的連接
例如
> f [[1,2,3], [123]] [[4,5,6], [3,7]]
[[1,2,3,4,5,6], [1,2,3,3,7], [123,4,5,6], [123,3,7]]
目前,我已經用它走到這一步:
f _ [] = []
f [] _ = []
f (xs:xss) (ys:yss) = ((xs ++ ys) : [m | m <- f [xs] yss])
但是這並沒有考慮到xss
和是錯誤的。有什麼建議麼?
或只是'liftA2(++)' – luqui 2012-03-13 22:14:54