\chapter{Fundamentals}
\label{cha:fundamentals}

\section{Functional Programming}
\label{sec:funprog}
about 2 pages\\
NOTES:\\
declarative programming, mathematical notation: close to formal specification -> prototyping\\
clean\_parallel\_graph\_rewriting.pdf: lambda calculus vs. graph rewriting systems.\\
impure vs. pure\\
monads vs. linear type systems\\
Hindley–Milner type inference

\subsection{History}
text

\subsection{Common Features}
text


\section{Computer Theorem Proving}
\label{sec:ctp}
about 1 page


\section{Parallelism}
\label{sec:parallelism}

\subsection{Gain, Cost and Limits}
about 1 page

\subsection{Multicore Processors}
about 1 page\\
NOTES:\\
hyper threading

\subsection{Operating Systems}
about 1 page\\
NOTES:\\
I/O, streams!

\subsection{Functional Programming}
about 1 page


\section{Concurrency and Responsiveness}
\label{sec:concurresp}
about 1/2 page


\section{Refactoring Functional Programs}
\label{sec:refacfunprogs}
about 2 pages

