haskell-lectures/VL1/VL1.tex

322 lines
6.8 KiB
TeX
Raw Normal View History

2015-04-13 23:15:54 +00:00
\documentclass[10pt,a5paper,mathserif,serif,usenames,dvipsnames]{beamer}
% packages
\usepackage{xcolor}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{listings}
2015-04-17 13:54:32 +00:00
\usepackage{minted}
2015-04-13 23:15:54 +00:00
2015-04-15 15:53:51 +00:00
% for \verb inside \item
\usepackage[T1]{fontenc}
\usepackage[Q=yes]{examplep}
2015-04-13 23:15:54 +00:00
% package configuration
\DeclareGraphicsExtensions{.pdf,.png,.jpg}
2015-04-14 19:59:42 +00:00
\beamertemplatenavigationsymbolsempty
2015-04-16 20:17:14 +00:00
\setbeamertemplate{footline}[frame number]
2015-04-17 13:54:32 +00:00
\usemintedstyle{friendly}
\newminted{haskell}{frame=single,numbers=left}
\newminted{cpp}{frame=single,numbers=left}
\newminted{c}{frame=single,numbers=left}
\renewcommand{\theFancyVerbLine}{\ttfamily
\textcolor[rgb]{0.0,0.0,0.0}{\footnotesize
\oldstylenums{\arabic{FancyVerbLine}}}}
2015-04-13 23:15:54 +00:00
% title page information
\author{Julian Ospald}
2015-04-14 20:11:48 +00:00
2015-04-13 23:15:54 +00:00
\institute{FH Bielefeld}
\title{Haskell: introduction}
% color definition
\definecolor{solarized}{HTML}{002B36}
2015-04-14 19:59:42 +00:00
\definecolor{mygreen}{rgb}{0,0.6,0}
% macros and environments
\newcommand{\code}[1]{\texttt{#1}}
\newcommand{\slidep}{\onslide<+->}
\newenvironment{itemizep}
{\begin{itemize}[<+->]}
{\end{itemize}}
2015-04-13 23:15:54 +00:00
\begin{document}
\frame{\titlepage}
2015-04-17 17:28:30 +00:00
\begin{frame}[allowframebreaks=0.8]
2015-04-16 20:12:15 +00:00
\frametitle{Table of Contents}
\tableofcontents
\end{frame}
\section{1. Why haskell?}
2015-04-13 23:15:54 +00:00
\begin{frame}
2015-04-16 20:12:15 +00:00
\frametitle{1. Why haskell?}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_why_haskell1.tex}
2015-04-13 23:15:54 +00:00
\end{frame}
\begin{frame}[fragile]
2015-04-20 13:15:12 +00:00
\frametitle{1. Why haskell? (cnt.)}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_why_haskell2.tex}
2015-04-13 23:15:54 +00:00
\end{frame}
\begin{frame}
2015-04-20 13:15:12 +00:00
\frametitle{1. Why haskell? (cnt.)}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_why_haskell3.tex}
2015-04-13 23:15:54 +00:00
\end{frame}
\begin{frame}
2015-04-20 13:15:12 +00:00
\frametitle{1. Why haskell? (cnt.)}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_why_haskell4.tex}
2015-04-16 18:10:23 +00:00
\end{frame}
\begin{frame}
2015-04-20 13:15:12 +00:00
\frametitle{1. Why haskell? (cnt.)}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_why_haskell5.tex}
2015-04-13 23:15:54 +00:00
\end{frame}
2015-04-16 20:12:15 +00:00
\section{2. What is haskell?}
2015-04-13 23:15:54 +00:00
\begin{frame}
2015-04-16 20:12:15 +00:00
\frametitle{2. What is haskell?}
\tableofcontents[currentsection,hideothersubsections]
\end{frame}
\begin{frame}
2015-04-20 13:15:12 +00:00
\frametitle{2. What is haskell? (cnt.)}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_what_is_haskell1.tex}
2015-04-13 23:15:54 +00:00
\end{frame}
2015-04-16 20:12:15 +00:00
\subsection{2.1. What does functional mean?}
2015-04-13 23:15:54 +00:00
\begin{frame}
2015-04-16 20:12:15 +00:00
\frametitle{2.1. What does \textbf{functional} mean?}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_what_is_haskell2.tex}
2015-04-13 23:15:54 +00:00
\end{frame}
\begin{frame}
2015-04-20 13:15:12 +00:00
\frametitle{2.1. What does \textbf{functional} mean? (cnt.)}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_what_is_haskell3.tex}
2015-04-14 19:59:42 +00:00
\end{frame}
2015-04-16 20:12:15 +00:00
\subsection{2.2. What does pure mean?}
2015-04-14 19:59:42 +00:00
\begin{frame}
2015-04-16 20:12:15 +00:00
\frametitle{2.2. What does \textbf{pure} mean?}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_what_is_haskell4.tex}
2015-04-14 19:59:42 +00:00
\end{frame}
2015-04-16 20:12:15 +00:00
\subsection{2.3. What does lazy mean?}
2015-04-14 19:59:42 +00:00
\begin{frame}
2015-04-16 20:12:15 +00:00
\frametitle{2.3. What does \textbf{lazy} mean?}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_what_is_haskell5.tex}
2015-04-14 19:59:42 +00:00
\end{frame}
2015-04-16 20:12:15 +00:00
\subsection{2.4. What does statically typed mean?}
2015-04-14 19:59:42 +00:00
\begin{frame}
2015-04-16 20:12:15 +00:00
\frametitle{2.4. What does \textbf{statically typed} mean?}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_what_is_haskell6.tex}
2015-04-14 19:59:42 +00:00
\end{frame}
2015-04-16 20:12:15 +00:00
\subsection{2.5. Summary}
2015-04-14 19:59:42 +00:00
\begin{frame}
2015-04-16 20:12:15 +00:00
\frametitle{2.5. What is haskell again?}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_what_is_haskell7.tex}
2015-04-14 19:59:42 +00:00
\end{frame}
2015-04-16 20:12:15 +00:00
\section{3. How to think haskell?}
2015-04-14 19:59:42 +00:00
\begin{frame}
2015-04-16 20:12:15 +00:00
\frametitle{3. How to think haskell?}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_think_haskell.tex}
2015-04-13 23:15:54 +00:00
\end{frame}
\section{4. How to write haskell?}
\begin{frame}
\frametitle{4. How to write haskell?}
\tableofcontents[currentsection,hideothersubsections]
\end{frame}
\subsection{4.1. Declarations}
2015-04-16 20:12:15 +00:00
2015-04-14 19:59:42 +00:00
\begin{frame}[fragile]
\frametitle{4.1. Declarations}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_write_haskell1.tex}
2015-04-14 19:59:42 +00:00
\end{frame}
\subsection{4.2. Arithmetic and co.}
2015-04-16 20:12:15 +00:00
2015-04-14 19:59:42 +00:00
\begin{frame}[fragile]
\frametitle{4.2. Arithmetic and co.}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_write_haskell2.tex}
2015-04-14 19:59:42 +00:00
\end{frame}
\subsection{4.3. Functions and control structures}
2015-04-16 20:12:15 +00:00
2015-04-14 19:59:42 +00:00
\begin{frame}[fragile]
\frametitle{4.3. Functions and control structures}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_write_haskell3.tex}
2015-04-14 19:59:42 +00:00
\end{frame}
\begin{frame}[fragile]
2015-04-20 13:15:12 +00:00
\frametitle{4.3. Functions and control structures (cnt.)}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_write_haskell4.tex}
2015-04-14 19:59:42 +00:00
\end{frame}
\begin{frame}[fragile]
2015-04-20 13:15:12 +00:00
\frametitle{4.3. Functions and control structures (cnt.)}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_write_haskell5.tex}
2015-04-14 19:59:42 +00:00
\end{frame}
\subsection{4.4. Lists}
2015-04-16 20:12:15 +00:00
2015-04-14 19:59:42 +00:00
\begin{frame}[fragile]
\frametitle{4.4. Lists}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_write_haskell6.tex}
2015-04-14 19:59:42 +00:00
\end{frame}
2015-04-15 15:46:47 +00:00
\begin{frame}[fragile]
2015-04-20 13:15:12 +00:00
\frametitle{4.4. Lists (cnt.)}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_write_haskell7.tex}
2015-04-15 15:46:47 +00:00
\end{frame}
2015-04-14 19:59:42 +00:00
\begin{frame}[fragile]
2015-04-20 13:15:12 +00:00
\frametitle{4.4. Lists (cnt.)}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_write_haskell8.tex}
2015-04-14 19:59:42 +00:00
\end{frame}
2015-04-15 15:47:56 +00:00
\begin{frame}[fragile]
2015-04-20 13:15:12 +00:00
\frametitle{4.4. Lists (cnt.)}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_write_haskell9.tex}
2015-04-15 15:47:56 +00:00
\end{frame}
\subsection{4.5. Pairs}
2015-04-17 16:40:58 +00:00
\begin{frame}[fragile]
\frametitle{4.5. Pairs}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_write_haskell10.tex}
2015-04-17 16:40:58 +00:00
\end{frame}
\subsection{4.6. Algebraic Data Types}
2015-04-16 20:12:15 +00:00
2015-04-15 15:53:19 +00:00
\begin{frame}[fragile]
\frametitle{4.6. Algebraic Data Types}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_write_haskell11.tex}
2015-04-15 15:53:19 +00:00
\end{frame}
\begin{frame}[fragile]
2015-04-20 13:15:12 +00:00
\frametitle{4.6. Algebraic Data Types (cnt.)}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_write_haskell12.tex}
2015-04-15 15:53:19 +00:00
\end{frame}
\begin{frame}[fragile]
2015-04-20 13:15:12 +00:00
\frametitle{4.6. Algebraic Data Types (cnt.)}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_write_haskell13.tex}
2015-04-15 15:53:19 +00:00
\end{frame}
2015-04-15 23:31:42 +00:00
\begin{frame}[fragile]
2015-04-20 13:15:12 +00:00
\frametitle{4.6. Algebraic Data Types (cnt.)}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_write_haskell14.tex}
2015-04-15 23:31:42 +00:00
\end{frame}
2015-04-15 15:53:19 +00:00
\begin{frame}[fragile]
2015-04-20 13:15:12 +00:00
\frametitle{4.6. Algebraic Data Types (cnt.)}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_write_haskell15.tex}
2015-04-15 15:53:19 +00:00
\end{frame}
\begin{frame}[fragile]
2015-04-20 13:15:12 +00:00
\frametitle{4.6. Algebraic Data Types (cnt.)}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_write_haskell16.tex}
2015-04-15 15:53:19 +00:00
\end{frame}
\begin{frame}[fragile]
2015-04-20 13:15:12 +00:00
\frametitle{4.6. Algebraic Data Types (cnt.)}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_write_haskell17.tex}
2015-04-15 15:53:19 +00:00
\end{frame}
2015-04-15 15:53:32 +00:00
\section{5. Résumé}
\begin{frame}
\frametitle{5. Résumé}
\tableofcontents[currentsection,hideothersubsections]
\end{frame}
\subsection{5.1. Questions so far?}
2015-04-16 20:12:15 +00:00
2015-04-15 15:53:32 +00:00
\begin{frame}
\frametitle{5.1. Questions so far?}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_resume1.tex}
2015-04-15 15:53:32 +00:00
\end{frame}
2015-04-15 15:53:51 +00:00
\subsection{5.2. Common misconceptions}
2015-04-16 20:12:15 +00:00
2015-04-15 15:53:51 +00:00
\begin{frame}
\frametitle{5.2. Common misconceptions}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_resume2.tex}
2015-04-15 15:53:51 +00:00
\end{frame}
2015-04-15 15:54:04 +00:00
\subsection{5.3. Difficulties}
2015-04-16 20:12:15 +00:00
2015-04-15 15:54:04 +00:00
\begin{frame}
\frametitle{5.3. Difficulties}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_resume3.tex}
2015-04-15 15:54:04 +00:00
\end{frame}
\section{6. Toolchain}
2015-04-16 20:12:15 +00:00
2015-04-14 19:59:42 +00:00
\begin{frame}
2015-04-17 17:42:25 +00:00
\frametitle{6. Toolchain}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_toolchain.tex}
2015-04-14 19:59:42 +00:00
\end{frame}
\section{7. Reflection}
\begin{frame}
\frametitle{7. Reflection}
\tableofcontents[currentsection,hideothersubsections]
\end{frame}
2015-04-16 20:12:15 +00:00
\subsection{7.1. What you should know}
2015-04-16 20:12:15 +00:00
2015-04-16 12:46:36 +00:00
\begin{frame}
\frametitle{7.1. What you should know now}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_reflection1.tex}
2015-04-14 19:59:42 +00:00
\end{frame}
2015-04-13 23:15:54 +00:00
\subsection{7.2. Questions for you}
2015-04-16 20:12:15 +00:00
\begin{frame}[fragile]
\frametitle{7.2. Questions for you}
2015-04-19 22:51:14 +00:00
\input{./content/VL1_reflection2.tex}
\end{frame}
\section{8. References}
\begin{frame}
\frametitle{8. References}
\tableofcontents[currentsection,hideothersubsections]
\end{frame}
\subsection{8.1. Links}
2015-04-16 20:13:06 +00:00
\begin{frame}
\frametitle{8.1. Further reading and useful links}
2015-04-19 22:51:14 +00:00
\input{../common/content/VL_links.tex}
2015-04-16 20:13:06 +00:00
\end{frame}
\subsection{8.2. Sources}
2015-04-16 20:12:15 +00:00
\begin{frame}
\frametitle{8.2. Sources}
2015-04-19 22:51:14 +00:00
\input{../common/content/VL_sources.tex}
\end{frame}
2015-04-13 23:15:54 +00:00
\end{document}