fork download
  1. decart2 po pre = map ((pre++) . (:[])) po
  2. decart l = foldl (\pre po -> concat $ map (decart2 po) pre) [[]] l
  3. main = print $ decart [["palto", "noski", "shapki"], ["red", "black", "white"]]
Success #stdin #stdout 0s 5732KB
stdin
Standard input is empty
stdout
[["palto","red"],["palto","black"],["palto","white"],["noski","red"],["noski","black"],["noski","white"],["shapki","red"],["shapki","black"],["shapki","white"]]