\begin{slide}{Beispiel: maximale Präfix-Summe}

\begin{verbatim}
mps :: [Int] -> Int
mps xs = maximum 
    $ do ys <- inits xs ; return $ sum ys
\end{verbatim}

zur Darstellung durch fold(l/r): benutze
\begin{verbatim}
mpss :: [ Int ] -> ( Int, Int )
mpss xs = ( mps xs, sum xs )
\end{verbatim}

Bestimme
\begin{itemize}\itemsep 2pt \parskip 2pt
\item \verb|mpss (x : xs)| aus \verb|mpss xs|

  ergibt \verb|mpss = foldr ...|
\item \verb|mpss (xs ++ [x])| aus \verb|mpss xs|

  ergibt \verb|mpss = foldl ...|
\end{itemize}
nach 3. Homomorphiesatz existiert
\verb|mpss = foldb ...|

\end{slide}
