\section{Einführung}
\input{./intro.tex}

\section{Edit-lenses}

Ziel ist es zunächst edit-lenses à la \cite{hofmann2012edit} in Haskell zur Verfügung zu stellen.
Dabei werden wir die Definitionen aus \cite{hofmann2012edit} sowohl in natürlicher Sprache als auch in lauffähigem Haskell vorstellen.

\input{./edit-lens/src/Control/Edit.lhs.tex}
\input{./edit-lens/src/Control/Lens/Edit.lhs.tex}

\section{Finite state transducers}

\input{./edit-lens/src/Control/FST.lhs.tex}
\input{./edit-lens/src/Control/DFST.lhs.tex}

\subsection{Edit-lenses für deterministic finite state transducers}

\input{./edit-lens/src/Control/Edit/String.lhs.tex}
\input{./edit-lens/src/Control/DFST/Lens.lhs.tex}
\input{./edit-lens/src/Control/Edit/String/Affected.lhs.tex}

\subsection{Ausblick: Edit-lenses für nicht-determinische finite state transducers}

\input{./edit-lens/src/Control/FST/Lens.tex}

\section{Resultate}

\subsection{Implementierung}

\input{./implementation.tex}

\subsection{Ausblick: Anwendbarkeit der Implementierung auf andere Parser}

\input{./edit-lens/src/Control/Lens/Edit/ActionTree.lhs.tex}

\section{Zusammenfassung}

\input{conclusion.tex}
