Add missing TOCs
This commit is contained in:
parent
8629e1c62b
commit
d9df5cae00
41
VL2.tex
41
VL2.tex
@ -51,6 +51,11 @@
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{1. Reiteration}
|
||||
\tableofcontents[currentsection,hideothersubsections]
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{1. Reiteration (ctn.)}
|
||||
\begin{itemize}
|
||||
\item What is haskell? What are the 3 fundamental concepts behind it?
|
||||
\item How do you do pattern matching?
|
||||
@ -61,8 +66,13 @@
|
||||
|
||||
\section{2. Polymorphism}
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\begin{frame}
|
||||
\frametitle{2. Polymorphism}
|
||||
\tableofcontents[currentsection,hideothersubsections]
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\frametitle{2. Polymorphism (ctn.)}
|
||||
So when we said that haskell is good for abstraction, what did we actually mean? Do we have something like java generics or C++ templates?
|
||||
\vspace{\baselineskip}
|
||||
\\
|
||||
@ -111,8 +121,13 @@ Makes sense?
|
||||
|
||||
\section{3. More ways to define functions}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{6. More ways to define functions}
|
||||
\tableofcontents[currentsection,hideothersubsections]
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\frametitle{3. More ways to define functions}
|
||||
\frametitle{3. More ways to define functions (ctn.)}
|
||||
Now you know how a regular function looks like, e.g:
|
||||
\begin{haskellcode}
|
||||
f :: Int -> Int
|
||||
@ -201,8 +216,13 @@ Anonymous functions will come extremely handy later, you'll see.
|
||||
|
||||
\section{4. Currying}
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\begin{frame}
|
||||
\frametitle{4. Currying}
|
||||
\tableofcontents[currentsection,hideothersubsections]
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\frametitle{4. Currying (ctn.)}
|
||||
This is what actually makes haskell such a fine functional language. You might have noticed that I tried hard to not show type signatures of functions that have more than one argument. Well, that's because we have to dig a little deeper to explain what comes next:
|
||||
\pause
|
||||
\begin{haskellcode}
|
||||
@ -332,8 +352,14 @@ So... now that we know what currying is, let's summarize:
|
||||
|
||||
\section{5. Function composition}
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\begin{frame}
|
||||
\frametitle{5. Function composition}
|
||||
\tableofcontents[currentsection,hideothersubsections]
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\frametitle{5. Function composition (ctn.)}
|
||||
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}
|
||||
\\
|
||||
@ -410,8 +436,13 @@ That sounds complicated at first, because it counts for the whole composition ch
|
||||
|
||||
\section{6. Recursion patterns}
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\begin{frame}
|
||||
\frametitle{6. Recursion patterns}
|
||||
\tableofcontents[currentsection,hideothersubsections]
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\frametitle{6. Recursion patterns (ctn.)}
|
||||
Since we use lists a lot in haskell, we also want some more powerful functions to deal with them. E.g.:
|
||||
\begin{itemize}
|
||||
\item perform an operation on every element on a list
|
||||
|
Loading…
Reference in New Issue
Block a user