@@ -1328,7 +1328,7 @@ \section{Recursive Functions}
13281328 [(Program '() e) (is_exp e)]
13291329 [else #f]))
13301330
1331- (is_Lint (Program '() ast1_1)
1331+ (is_Lint (Program '() ast1_1))
13321332(is_Lint (Program '()
13331333 (Prim '* (list (Prim 'read '())
13341334 (Prim '+ (list (Int 8)))))))
@@ -1769,7 +1769,7 @@ \section{Example Compiler: A Partial Evaluator}
17691769 case Expr(value):
17701770 return Expr(pe_exp(value))
17711771
1772- def pe_P_int (p):
1772+ def pe_Lint (p):
17731773 match p:
17741774 case Module(body):
17751775 new_body = [pe_stmt(s) for s in body]
@@ -2016,7 +2016,7 @@ \subsection{Extensible Interpreters via Method Overriding}
20162016of commonality between these interpreters. We want to write down the
20172017common parts just once instead of many times. A naive interpreter for
20182018\LangVar{} would handle the \racket{cases for variables and
2019- \code{let}} \python{case for variables} but dispatch to an
2019+ \code{let}}\python{case for variables} but dispatch to an
20202020interpreter for \LangInt{} in the rest of the cases. The following
20212021code sketches this idea. (We explain the \code{env} parameter in
20222022section~\ref{sec:interp-Lvar}.)
@@ -14846,7 +14846,7 @@ \section{Challenge: Generational Collection}
1484614846time proportional to all the live data. One way to reduce this
1484714847overhead is to reduce how much data is inspected in each call to
1484814848\code{collect}. In particular, researchers have observed that recently
14849- allocated data is more likely to become garbage then data that has
14849+ allocated data is more likely to become garbage than data that has
1485014850survived one or more previous calls to \code{collect}. This insight
1485114851motivated the creation of \emph{generational garbage collectors}
1485214852\index{subject}{generational garbage collector} that
0 commit comments