|
- So why did we just bother so long with explaining currying? It's because it's very important for function composition. Which again is also one of the fundamental concepts of functional programming.
- \vspace{\baselineskip}
- \\
- From maths we already know that:\\
- $(g \circ f)(x) = g(f(x))$
- \vspace{\baselineskip}
- \\
- \pause
- 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 'f x ='
- -- is just syntax sugar
- -- omitting the x here is also called eta reduction
- composedFunction = f . g
- \end{haskellcode}
|