|
@@ -8553,10 +8553,10 @@ function pointer from the closure and then calls the function, passing
|
|
in the closure as the first argument. We bind $e'$ to a temporary
|
|
in the closure as the first argument. We bind $e'$ to a temporary
|
|
variable to avoid code duplication.
|
|
variable to avoid code duplication.
|
|
\begin{lstlisting}
|
|
\begin{lstlisting}
|
|
-(Apply |$e$| |\itm{es}| ...)
|
|
|
|
|
|
+(Apply |$e$| |\itm{es}|)
|
|
|$\Rightarrow$|
|
|
|$\Rightarrow$|
|
|
(Let |\itm{tmp}| |$e'$|
|
|
(Let |\itm{tmp}| |$e'$|
|
|
- (Apply (Prim 'vector-ref (list (Var |\itm{tmp}|) (Int 0))) |\itm{tmp}| |\itm{es'}|))
|
|
|
|
|
|
+ (Apply (Prim 'vector-ref (list (Var |\itm{tmp}|) (Int 0))) (cons |\itm{tmp}| |\itm{es'}|)))
|
|
\end{lstlisting}
|
|
\end{lstlisting}
|
|
|
|
|
|
There is also the question of what to do with references top-level
|
|
There is also the question of what to do with references top-level
|