Add missing TOCs

This commit is contained in:
Julian Ospald 2015-04-19 20:03:40 +02:00
vecāks 8629e1c62b
revīzija d9df5cae00
Šim parakstam datu bāzē netika atrasta zināma atslēga
GPG atslēgas ID: 220CD1C5BDEED020
1 mainīti faili ar 36 papildinājumiem un 5 dzēšanām

41
VL2.tex
Parādīt failu

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