|
@@ -1420,8 +1420,8 @@ figure~\ref{fig:interp_Lint}.
|
|
|
(define v2 (interp_exp e2))
|
|
|
(fx+ v1 v2)]
|
|
|
[(Prim '- (list e1 e2))
|
|
|
- (define v1 ((interp-exp env) e1))
|
|
|
- (define v2 ((interp-exp env) e2))
|
|
|
+ (define v1 (interp_exp e1))
|
|
|
+ (define v2 (interp_exp e2))
|
|
|
(fx- v1 v2)]))
|
|
|
|
|
|
(define (interp_Lint p)
|
|
@@ -1981,9 +1981,9 @@ section~\ref{sec:interp-Lvar}.)
|
|
|
[(Var x)
|
|
|
(dict-ref env x)]
|
|
|
[(Let x e body)
|
|
|
- (define v ((interp_exp env) e))
|
|
|
+ (define v ((interp_Lvar env) e))
|
|
|
(define env^ (dict-set env x v))
|
|
|
- ((interp_exp env^) body)]
|
|
|
+ ((interp_Lvar env^) body)]
|
|
|
[else ((interp_Lint env) e)]))
|
|
|
\end{lstlisting}
|
|
|
\end{minipage}
|
|
@@ -2274,7 +2274,7 @@ def interp_Lint(p):
|
|
|
[(Let x e body)
|
|
|
(define new-env (dict-set env x ((interp_exp env) e)))
|
|
|
((interp_exp new-env) body)]
|
|
|
- [else ((super interp-exp env) e)]))
|
|
|
+ [else ((super interp_exp env) e)]))
|
|
|
))
|
|
|
|
|
|
(define (interp_Lvar p)
|