Tôi muốn một hàm lấy hai danh sách thuộc bất kỳ loại nào và trả về một danh sách (ví dụ: f:: [[a]] -> [[a]] -> [[a]]
). Về cơ bản, quá sản xuất 'ghép nối' của hai danh sách đầu vào.Ghép nối các danh sách trong Haskell
ví dụ:
> 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]]
Tôi hiện đã có này xa với nó:
f _ [] = []
f [] _ = []
f (xs:xss) (ys:yss) = ((xs ++ ys) : [m | m <- f [xs] yss])
Nhưng điều này không đưa vào tài khoản xss
và là sai. Bất kỳ đề xuất?
hoặc chỉ 'liftA2 (++)' – luqui