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