Я хочу произвести декартово произведение двух списков в Haskell, но я не могу понять, как это сделать. Декартово произведение дает все комбинации элементов списка:
xs = [1,2,3]
ys = [4,5,6]
cartProd :: [a] -> [b] -> [(a,b)]
cartProd xs ys ==> [(1,4),(1,5),(1,6),(2,4),(2,5),(2,6),(3,4),(3,5),(3,6)]
Это не настоящий вопрос о домашнем задании и не связан с каким-либо таким вопросом, но способ решения этой проблемы может помочь с тем, что я застрял.