2
0
Fork 0
mirror of https://github.com/MartinThoma/LaTeX-examples.git synced 2025-04-26 06:48:04 +02:00

Index verbessert; Inhalte zum Lambda-Kalkül hinzugefügt

This commit is contained in:
Martin Thoma 2014-09-13 17:28:03 +02:00
parent 2c4f3e97bf
commit 338b7a2b45
9 changed files with 138 additions and 50 deletions

View file

@ -87,6 +87,9 @@ hat einen Speicherverbrauch von $\mathcal{O}(n)$. Durch einen
\inputminted[numbersep=5pt, tabsize=4]{haskell}{scripts/haskell/fakultaet-akkumulator.hs}
\subsection{Listen}
Listen sind in Haskell 0-indiziert, d.~h. das erste Element jeder Liste hat
den Index 0.
\begin{itemize}
\item \texttt{[]} erzeugt die leere Liste,
\item \texttt{[1,2,3]} erzeugt eine Liste mit den Elementen $1, 2, 3$
@ -148,7 +151,7 @@ in etwa folgendem Haskell-Code:
\texttt{tail "ABCDEF"} gibt \texttt{"BCDEF"} zurück.
\end{itemize}
\subsection{Let und where}\xindex{let}\xindex{where}%
\subsection{Let und where}\xindex{let (Haskell)@\texttt{let} (Haskell)}\xindex{where (Haskell)@\texttt{where} (Haskell)}%
\inputminted[numbersep=5pt, tabsize=4]{haskell}{scripts/haskell/let-where-bindung.hs}
\subsection{Funktionskomposition}\xindex{. (Haskell)}\xindex{Funktionskomposition}%
@ -223,12 +226,12 @@ Ein paar Beispiele zur Typinferenz:
\label{fig:haskell-type-hierarchy}
\end{figure}
\subsection{type}\xindex{type}%
\subsection{type}\xindex{type (Haskell)@\texttt{type} (Haskell)}%
Mit \texttt{type} können Typsynonyme erstellt werden:
\inputminted[numbersep=5pt, tabsize=4]{haskell}{scripts/haskell/alt-types.hs}
\subsection{data}\xindex{data}%
\subsection{data}\xindex{data (Haskell)@\texttt{data} (Haskell)}%
Mit dem Schlüsselwort \texttt{data} können algebraische Datentypen\xindex{Datentyp!algebraischer}
erzeugt werden:
@ -267,7 +270,7 @@ sich das ganze sogar noch kürzer schreiben:
\subsection{Fibonacci}\xindex{Fibonacci}
\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=fibonacci.hs]{haskell}{scripts/haskell/fibonacci.hs}
\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=fibonacci-akk.hs]{haskell}{scripts/haskell/fibonacci-akk.hs}
\xindex{zipWith}
\xindex{zipWith (Haskell)@\texttt{zipWith} (Haskell)}
\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=fibonacci-zip.hs]{haskell}{scripts/haskell/fibonacci-zip.hs}
\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=fibonacci-pattern-matching.hs]{haskell}{scripts/haskell/fibonacci-pattern-matching.hs}
@ -276,7 +279,7 @@ wird wie folgt erzeugt:
\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=fibonacci-stream.hs]{haskell}{scripts/haskell/fibonacci-stream.hs}
\subsection{Polynome}\xindex{Polynome}\xindex{zipWith}\xindex{foldr}\xindex{tail}%
\subsection{Polynome}\xindex{Polynome}\xindex{zipWith (Haskell)@\texttt{zipWith} (Haskell)}\xindex{Folds!foldr (Haskell)@\texttt{foldr} (Haskell)}\xindex{tail (Haskell)@\texttt{tail} (Haskell)}%
\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=polynome.hs]{haskell}{scripts/haskell/polynome.hs}
\subsection{Hirsch-Index}\xindex{Hirsch-Index}\xindex{Ord}\xindex{Num}%
@ -293,7 +296,7 @@ wird wie folgt erzeugt:
\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=intersect.hs]{haskell}{scripts/haskell/intersect.hs}
\subsection{Funktionen höherer Ordnung}\xindex{Folds}\xindex{foldl}\xindex{foldr}\label{bsp:foldl-und-foldr}
\subsection{Funktionen höherer Ordnung}\xindex{Folds}\xindex{Folds!foldl (Haskell)@\texttt{foldl} (Haskell)}\xindex{Folds!foldr (Haskell)@\texttt{foldr} (Haskell)}\label{bsp:foldl-und-foldr}
\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=folds.hs]{haskell}{scripts/haskell/folds.hs}
\subsection{Chruch-Zahlen}
@ -320,7 +323,7 @@ Knoten anwendet:
\subsection{Standard Prelude}
Hier sind die Definitionen eininger wichtiger Funktionen:
\xindex{zipWith}\xindex{zip}
\xindex{zipWith (Haskell)@\texttt{zipWith} (Haskell)}\xindex{zip (Haskell)@\texttt{zip} (Haskell)}
\inputminted[numbersep=5pt, tabsize=4]{haskell}{scripts/haskell/standard-definitions.hs}
\section{Weitere Informationen}