2
0
Fork 0
mirror of https://github.com/MartinThoma/LaTeX-examples.git synced 2025-04-25 14:28:05 +02:00

Haskell (dollar-Zeichen)

This commit is contained in:
Martin Thoma 2014-03-30 13:59:51 +02:00
parent 74dfdb42b2
commit 19c2ef6eec
3 changed files with 15 additions and 6 deletions

View file

@ -62,7 +62,7 @@ Zu lesen ist die Deklaration wie folgt:
\todo[inline]{Gibt es Funktionsdeklarationen, die bis auf Wechsel des Namens und der Reihenfolge äquivalent sind?} \todo[inline]{Gibt es Funktionsdeklarationen, die bis auf Wechsel des Namens und der Reihenfolge äquivalent sind?}
\subsection{if / else} \subsection{if / else}
Das folgende Beispiel definiert den Binomialkoeffizienten (vgl. \cref{bsp:binomialkoeffizient}) Das folgende Beispiel definiert den Binomialkoeffizienten (vgl. \cref{bsp:binomialkoeffizient}):
\inputminted[numbersep=5pt, tabsize=4]{haskell}{scripts/haskell/binomialkoeffizient.hs} \inputminted[numbersep=5pt, tabsize=4]{haskell}{scripts/haskell/binomialkoeffizient.hs}
@ -87,9 +87,9 @@ hat einen Speicherverbrauch von $\mathcal{O}(n)$. Durch einen
\begin{itemize} \begin{itemize}
\item \texttt{[]} erzeugt die leere Liste, \item \texttt{[]} erzeugt die leere Liste,
\item \texttt{[1,2,3]} erzeugt eine Liste mit den Elementen $1, 2, 3$ \item \texttt{[1,2,3]} erzeugt eine Liste mit den Elementen $1, 2, 3$
\item \texttt{:} wird \textbf{cons}\xindex{cons} genannt und ist \item \texttt{:}\xindex{: (Haskell)} wird \textbf{cons}\xindex{cons} genannt und ist
der Listenkonstruktor. der Listenkonstruktor.
\item \texttt{list !! i} gibt das $i$-te Element von \texttt{list} zurück. \item \texttt{list !! i}\xindex{"!"! (Haskell)} gibt das $i$-te Element von \texttt{list} zurück.
\item \texttt{head list} gibt den Kopf von \texttt{list} zurück, \item \texttt{head list} gibt den Kopf von \texttt{list} zurück,
\texttt{tail list} den Rest: \texttt{tail list} den Rest:
\inputminted[numbersep=5pt, tabsize=4]{haskell}{scripts/haskell/list-basic.sh} \inputminted[numbersep=5pt, tabsize=4]{haskell}{scripts/haskell/list-basic.sh}
@ -133,7 +133,7 @@ in etwa folgendem Haskell-Code:
\subsection{Let und where}\xindex{let}\xindex{where}% \subsection{Let und where}\xindex{let}\xindex{where}%
\inputminted[numbersep=5pt, tabsize=4]{haskell}{scripts/haskell/let-where-bindung.hs} \inputminted[numbersep=5pt, tabsize=4]{haskell}{scripts/haskell/let-where-bindung.hs}
\subsection{Funktionskomposition}\xindex{.}\xindex{Funktionskomposition}% \subsection{Funktionskomposition}\xindex{. (Haskell)}\xindex{Funktionskomposition}%
In Haskell funktioniert Funktionskomposition mit einem Punkt: In Haskell funktioniert Funktionskomposition mit einem Punkt:
\inputminted[numbersep=5pt, tabsize=4]{haskell}{scripts/haskell/function-composition.hs} \inputminted[numbersep=5pt, tabsize=4]{haskell}{scripts/haskell/function-composition.hs}
@ -145,6 +145,12 @@ und \texttt{i (-3)} ergibt
Es ist also anzumerken, dass die Reihenfolge \underline{nicht} der mathematischen Es ist also anzumerken, dass die Reihenfolge \underline{nicht} der mathematischen
konvention entspricht. konvention entspricht.
\subsection{\$ (Dollar-Zeichen)}\xindex{\$ (Haskell)}
Das Dollar-Zeichen \$ dient in Haskell dazu Klammern zu vermeiden. So sind die
folgenden Zeilen äquivalent:
\inputminted[numbersep=5pt, tabsize=4]{haskell}{scripts/haskell/dollar-example.hs}
\section{Typen} \section{Typen}
\subsection{Standard-Typen} \subsection{Standard-Typen}
Haskell kennt einige Basis-Typen: Haskell kennt einige Basis-Typen:
@ -161,8 +167,8 @@ Haskell kennt einige Basis-Typen:
Des weiteren gibt es einige strukturierte Typen: Des weiteren gibt es einige strukturierte Typen:
\begin{itemize} \begin{itemize}
\item Listen: z.~B. $[1,2,3]$ \item Listen: z.~B. \texttt{[1,2,3]}
\item Tupel: z.~B. $(1,'a',2)$ \item Tupel: z.~B. \texttt{(1,'a',2)}
\item Brüche (Fractional, RealFrac) \item Brüche (Fractional, RealFrac)
\item Summen-Typen: Typen mit mehreren möglichen Repräsentationen \item Summen-Typen: Typen mit mehreren möglichen Repräsentationen
\end{itemize} \end{itemize}

View file

@ -0,0 +1,3 @@
putStrLn (show $ 1 - 2)
putStrLn $ show (1 - 2)
putStrLn $ show $ 1 - 2