\ifger{Wieso haben wir uns so lange mit Currying aufgehalten? Nun, es ist wie gesagt sehr wichtig für \emph{Funktionskomposition}. Sie zählt ebenfalls zu den fundamentalen Basiskonzepten der funktionalen Programmierung.}{So why did we just bother so long with explaining currying? It's because it's very important for \emph{function composition}. Which again is also one of the fundamental concepts of functional programming.} \vspace{\baselineskip} \\ \ifger{Aus der Mathematik wissen wir bereits, dass:}{From maths we already know that:}\\ $(f \circ g)(x) = f(g(x))$ \vspace{\baselineskip} \\ \pause \ifger{Und das ist praktisch schon alles. Wir machen dasselbe in Haskell:}{And that's basically it. We do the same in haskell, it looks like this:} \begin{haskellcode} composedFunction x = (f . g) x -- same as above... everything on the right side of $ -- is evaluated first composedFunction x = f . g $ x -- and same again, remember that 'g x =' -- is just syntax sugar -- omitting the x here is also called eta reduction composedFunction = f . g \end{haskellcode}