\begin{slide}{Lokale anonyme Unterprogramme}

\begin{itemize} \itemsep 0pt \parskip 2pt
\item 
\begin{verbatim}
int [] x = { 1,0,0,1,0 };
Console.WriteLine 
   (x.Aggregate (0, (a, b) => 2*a + b));
\end{verbatim}

\url{http://code.msdn.microsoft.com/LINQ-Aggregate-Operators-c51b3869}

\item
\begin{verbatim}
foldl ( \ a b -> 2*a + b) 0 [1,0,0,1,0] 
\end{verbatim}
Haskell (\url{http://haskell.org/})
\end{itemize}

historische Schreibweise: $\lambda a b . 2a +b$ 

(Alonzo Church: 
The Calculi of Lambda Conversion, 1941)

vgl. Henk Barendregt: The Impact of the Lambda Calculus, 1997,
\url{ftp://ftp.cs.ru.nl/pub/CompMath.Found/church.ps}


\end{slide}
