dikke update
[cc1516.git] / deliverables / report / intro.tex
index a1af621..7f0e7d7 100644 (file)
@@ -65,3 +65,19 @@ diff -q \
        <(spl --parse --no-code input.spl) \
        <(spl --parse --no-code input.spl | spl --parse --no-code)
 \end{lstlisting}
+
+\subsection{Extensions}
+Several bigger and smaller extensions to the specification have been made for
+the sake of the assignment but also to make programming in \SPL{} more easy.
+The big extension for the assignment is the addition of higher order functions.
+We have chosen to not implement them in the way of popular functional languages
+such as \emph{Clean} and \emph{Haskell} with full closure but to implement them
+with \emph{C}-style function pointers. Besides function pointers it is also
+possible to already curry some arguments in the function. Details of this are
+shown in the higher order function part of Section~\ref{sec:gen}.
+
+Several syntactic sugars have also been added to make programming more easy.
+The sugars added are literal lists, literal strings, let expressions, lambda
+functions and variable argument printing. All sugars are implemented in the
+parsing or lexing phase and thus shown in Section~\ref{sec:pars} except for
+lambda expressions which are shown in Section~\ref{sec:sem}.