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}
|