ってこういうやつの事?
nonDet :: [Int] -> [Int] -> [Int] nonDet [] _ = [] nonDet _ [] = [] nonDet xs ys = [(x + y)| x <- xs, y <- ys]
モナド風味で書くと
nonDet2 :: [Int] -> [Int] -> [Int] nonDet2 [] _ = [] nonDet2 _ [] = [] nonDet2 xs ys = do x <- xs y <- ys return (x + y)
実行すると
Main> nonDet [1..3] [1..4] [2,3,4,5,3,4,5,6,4,5,6,7]
みたいな。
んー…
てか、
Haskellのコード久々に書いた、俺w