21 lines
710 B
TeX
21 lines
710 B
TeX
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} |