\begin{slide}{Transformation}

\begin{verbatim}
CLC[ \ i_1 .. i_n -> b ] =
   (tuple ( \ clo i_1 .. i_n ->
            let { v_1 = nth 1 clo ; .. }
            in  CLC[b] 
          ) v_1 .. )
\end{verbatim}
wobei $\{v_1,\ldots\}=$ freie Variablen in $(\lambda i_1 \ldots i_n \to b)$

\begin{verbatim}
CLC[ (f a_1 .. a_n) ] =
  let { clo = CLC[f] 
      ; code = nth 0 clo 
  } in  code clo CLC[a_1] .. CLC[a_n]
\end{verbatim}

\begin{itemize} \itemsep 0pt
\item für alle anderen Fälle: strukturelle Rekursion
\item zur Erhaltung der CPS-Form: 
  Spezialfall bei \verb|let|
\end{itemize}



\end{slide}
