Schreiben Sie eine Funktion mit Typ
shuffle :: [a] -> [a] -> [[a]]die
xs $ ys
berechnet, zum Beispiel:
shuffle "ab" "cd" = ["abcd","acbd","acdb","cabd","cadb","cdab"]Berechen Sie zunächst (im Kopf)
shuffle "b" "cd" ; shuffle "ab" "d"und vervollständigen Sie dann:
shuffle [] ys = ?? shuffle xs [] = ?? shuffle (x : xs) (y : ys) = map (x :) ?? ++ ??