\begin{slide}{Rekursion (operational)}

Idee: eine Speicherstelle anlegen
und als Vorwärtsreferenz auf das Resultat
der Rekursion benutzen

\begin{verbatim}
evaluate env x = case x of ...
  Rec n ( Abs x b ) -> 
    new ( ValErr "Rec" ) >>= \ a -> 
    with ( evaluate 
             ( extend env n ... ) 
             ( Abs x ... ) ) $ \ v ->
    put a v >>= \ () ->
    return v
\end{verbatim}
  
\end{slide}
