これを行うためにリスト内包表記を使用する方法は知っていますが、与えられた 2 つのセットのデカルト積を再帰的に計算する関数を実装するにはどうすればよいでしょうか?
ここで私は立ち往生しています(そして私は初心者です)
crossProd :: [Int] -> [Int] -> [(Int,Int)]
crossProd xs ys | xs == [] || ys == [] = []
| otherwise = (head xs, head ys) : crossProd (tail xs) (ys)
これの出力は私に与えます
[(1,4),(1,5),(1,6)]
セットがそれぞれ[1,2,3]
と である場合[4,5,6]
.. 残りを取得するにはどうすればよいですか?