haskell-lectures/VL1_handout.tex

171 lines
3.0 KiB
TeX

\documentclass[12pt,a4paper,fleqn,oneside]{article}
% packages
\usepackage{xcolor}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{listings}
\usepackage{minted}
% for \verb inside \item
\usepackage[T1]{fontenc}
\usepackage[Q=yes]{examplep}
% package configuration
\DeclareGraphicsExtensions{.pdf,.png,.jpg}
\usemintedstyle{friendly}
\newminted{haskell}{frame=single,numbers=left,samepage=true}
\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}}}}
% macros and environments
\newcommand{\code}[1]{\texttt{#1}}
\newcommand{\pause}{}
\newcommand{\slidep}{}
\newenvironment{itemizep}
{\begin{itemize}}
{\end{itemize}}
% color definition
\definecolor{solarized}{HTML}{002B36}
\definecolor{mygreen}{rgb}{0,0.6,0}
\begin{document}
% title page information
\author{Julian Ospald}
\title{Haskell: introduction}
\maketitle
\tableofcontents
\section{Why haskell?}
\input{VL1_why_haskell1.tex}
\input{VL1_why_haskell2.tex}
\input{VL1_why_haskell3.tex}
\\\\
\input{VL1_why_haskell4.tex}
\input{VL1_why_haskell5.tex}
\section{What is haskell?}
\input{VL1_what_is_haskell1.tex}
\subsection{What does functional mean?}
\input{VL1_what_is_haskell2.tex}
\\\\
\input{VL1_what_is_haskell3.tex}
\subsection{What does pure mean?}
\input{VL1_what_is_haskell4.tex}
\subsection{What does lazy mean?}
\input{VL1_what_is_haskell5.tex}
\subsection{What does statically typed mean?}
\input{VL1_what_is_haskell6.tex}
\subsection{Summary}
\input{VL1_what_is_haskell7.tex}
\section{How to think haskell?}
\input{VL1_think_haskell.tex}
\section{How to write haskell?}
\subsection{Declarations}
\input{VL1_write_haskell1.tex}
\subsection{Arithmetic and co.}
\input{VL1_write_haskell2.tex}
\subsection{Functions and control structures}
\input{VL1_write_haskell3.tex}
\input{VL1_write_haskell4.tex}
\input{VL1_write_haskell5.tex}
\subsection{Lists}
\input{VL1_write_haskell6.tex}
\input{VL1_write_haskell7.tex}
\input{VL1_write_haskell8.tex}
\\\\
\input{VL1_write_haskell9.tex}
\subsection{Pairs}
\input{VL1_write_haskell10.tex}
\subsection{Algebraic Data Types}
\input{VL1_write_haskell11.tex}
\input{VL1_write_haskell12.tex}
\input{VL1_write_haskell13.tex}
\input{VL1_write_haskell14.tex}
\\\\
\input{VL1_write_haskell15.tex}
\\\\
\input{VL1_write_haskell16.tex}
\\\\
\input{VL1_write_haskell17.tex}
\section{Résumé}
\subsection{Questions so far?}
\input{VL1_resume1.tex}
\subsection{Common misconceptions}
\input{VL1_resume2.tex}
\subsection{Difficulties}
\input{VL1_resume3.tex}
\section{Toolchain}
\input{VL1_toolchain.tex}
\section{Reflection}
\subsection{What you should know}
\input{VL1_reflection1.tex}
\subsection{Questions for you}
\input{VL1_reflection2.tex}
\section{References}
\subsection{Links}
\input{VL_links.tex}
\subsection{Sources}
\input{VL_sources.tex}
\end{document}