-\subsection{Sanity checks}
-The sanity checks are defined as simple recursive functions over the function
-declarations in the \AST. We will very shortly describe them here.
-
-\begin{description}
- \item [No duplicate functions] This function checks that the program does
- not contain top level functions sharing the same name. Formally:
- $ \forall f \in \textrm{functions} \ldotp \neg
- \exists g \in \textrm{functions} \setminus \{f\} \ldotp
- f.\textrm{name} = g.\textrm{name}$
- \item [\tt{main} should have type \tt{->Void}] Our semantics of \SPL{}
- require the main function to take no arguments and to not return a
- value. Formally: $\forall f \in \textrm{functions} \ldotp
- f.\textrm{name} = \textrm{'main'} \Rightarrow
- \textit{typeof}\textrm{(main)} = \rightarrow\textrm{Void} $
- \item [The program should have a main function] $\exists f \in
- \textrm{functions} \ldotp f.\textrm{name} = \textrm{'main'}$
-\end{description}
+\subsection{AST transformation for lambdas}
+
+% \subsection{Sanity checks}
+% The sanity checks are defined as simple recursive functions over the function
+% declarations in the \AST. We will very shortly describe them here.
+
+% \begin{description}
+% \item [No duplicate functions] This function checks that the program does
+% not contain top level functions sharing the same name. Formally:
+% $ \forall f \in \textrm{functions} \ldotp \neg
+% \exists g \in \textrm{functions} \setminus \{f\} \ldotp
+% f.\textrm{name} = g.\textrm{name}$
+% \item [\tt{main} should have type \tt{->Void}] Our semantics of \SPL{}
+% require the main function to take no arguments and to not return a
+% value. Formally: $\forall f \in \textrm{functions} \ldotp
+% f.\textrm{name} = \textrm{'main'} \Rightarrow
+% \textit{typeof}\textrm{(main)} = \rightarrow\textrm{Void} $
+% \item [The program should have a main function] $\exists f \in
+% \textrm{functions} \ldotp f.\textrm{name} = \textrm{'main'}$
+% \end{description}