|
@@ -3340,7 +3340,8 @@ between atomic expressions and complex expressions can change and
|
|
|
often does. The reason that these changes are behavior preserving is
|
|
|
that the atomic expressions are pure.
|
|
|
|
|
|
-Another well-known form for intermediate languages is the
|
|
|
+{\if\edition\racketEd
|
|
|
+ Another well-known form for intermediate languages is the
|
|
|
\emph{administrative normal form}
|
|
|
(ANF)~\citep{Danvy:1991fk,Flanagan:1993cg}.
|
|
|
\index{subject}{administrative normal form} \index{subject}{ANF}
|
|
@@ -3350,6 +3351,7 @@ right-hand side of a \code{let} to be a complex expression, such as
|
|
|
another \code{let}. The flattening of nested \code{let} expressions is
|
|
|
instead one of the responsibilities of the \code{explicate\_control}
|
|
|
pass.
|
|
|
+\fi}
|
|
|
|
|
|
{\if\edition\racketEd
|
|
|
We recommend implementing this pass with two mutually recursive
|