\begin{slide}{Beispiel: Mergesort}

Sequentieller Algorithmus:
\begin{verbatim}
merge :: Ord a => [a] -> [a] -> [a]
split :: [a] -> ([a],[a])
msort :: Ord a => [a] -> [a]
msort [] = [] ; msort [x] = [x] ; msort xs = 
    let ( here, there ) = split xs
        mshere  = msort here
        msthere = msort there
    in  merge mshere msthere
\end{verbatim}
Strategie-Annotation in \verb|msort|,

dabei Auswertung der Teilresultate erzwingen.
\end{slide}
