MS.hs
split :: [a] -> ([a], [a]) split [] = ( [], [] ) split (x : xs) = let (ys, zs) = split xs in (x : zs, ys)und rufen Sie dann diese Funktion auf
merge :: Ord a => [a] -> [a] -> [a] merge xs [] = xs merge [] ys = ys merge (x : xs) (y : ys) = if x < y then x : merge xs (y : ys) else ...
msort :: Ord a => [a] -> [a] msort [] = [] msort [x] = [x] msort xs = let (ys, zs) = split xs in merge ( ... ) ( ... )Sortieren Sie damit eine Liste von Zahlen
(hugs-prompt:) do cs <- readFile "MS.hs" ; print $ msort $ words cs