\input{subfilepreamble}
+\setcounter{chapter}{3}
+
\begin{document}
\input{subfileprefix}
\chapter{The \texorpdfstring{\gls{MTASK}}{mTask} language}%\texorpdfstring{\glsxtrshort{DSL}}{DSL}}%
\label{chp:mtask_dsl}
\begin{chapterabstract}
- \noindent This chapter introduces the \gls{TOP} language \gls{MTASK} language by:
+ This chapter introduces the \gls{TOP} language \gls{MTASK} language by:
\begin{itemize}
\item introducing the setup of the \gls{EDSL};
\item describing briefly the various interpretations;
Terms in our little toy language can be overloaded in their interpretation, they are just an interface.
For example, $1+5$ is written as \cleaninline{add (lit 1) (lit 5)} and has the type \cleaninline{v Int \| literals, addition v}.
-\todo{hier nog uit\-leg\-gen hoe je meer\-de\-re in\-ter\-pre\-ta\-tions kunt ge\-brui\-ken?}
+However, due to the way polymorphism is implemented in most functional languages, it is not always straightforward to use multiple interpretations in one function.
+Creating such a function, e.g.\ one that both prints and evaluates an expression, requires rank-2 polymorphism (see \cref{lst:rank2_mtask}).
\section{Interpretations}
This section describes all \gls{MTASK}'s interpretations.