\begin{slide}{Homomorphismen von Listen}

Homomorphie-Sätze

\begin{enumerate} 
\item für jeden Hom exist. Zerlegung
in map und reduce --- und das reduce kann
man flexibel parallelisieren!

Bsp: \verb|length = reduce (+) . map (const 1)|

\verb|map|: parallel ausrechnen,
\verb|fold|: balancierter Binärbaum.

\item jeder Hom. kann als foldl und als foldr
  geschrieben werden

\item (Umkehrung von 2.) Wenn eine Funktion
  sowohl als foldl als auch als foldr
  darstellbar ist, dann ist sie ein Hom. ---

  und kann (nach 1.) flexibel parallelisiert werden
\end{enumerate}

\end{slide}
