You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
such as <SCHEMEINLINE>quoted?</SCHEMEINLINE> and <SCHEMEINLINE>make-procedure</SCHEMEINLINE>. In implementing the
55
+
such as <SPLITINLINE><SCHEME><SCHEMEINLINE>quoted?</SCHEMEINLINE></SCHEME><JAVASCRIPT><JAVASCRIPTINLINE>is_self_evaluating</JAVASCRIPTINLINE></JAVASCRIPT></SPLITINLINE> and <SPLITINLINE><SCHEME><SCHEMEINLINE>make-procedure</SCHEMEINLINE></SCHEME><JAVASCRIPT><JAVASCRIPTINLINE>make_compound_function</JAVASCRIPTINLINE></JAVASCRIPT></SPLITINLINE>. In implementing the
@@ -375,7 +375,7 @@ function is_last_operand(ops) {
375
375
need to save the environment or the list of unevaluated operands
376
376
before going to <SPLITINLINE><SCHEMEINLINE>eval-dispatch</SCHEMEINLINE><JAVASCRIPTINLINE>eval_dispatch</JAVASCRIPTINLINE></SPLITINLINE>,
377
377
since they will not be required after the last operand is evaluated.
378
-
Thus, we return from the evaluation to a special entry point <SPLITINLINE><SCHEMEINLINE>ev-appl-accum-last-arg</SCHEMEINLINE><JAVASCRIPTINLINE>ev_appl_accum_last_arg</JAVASCRIPTINLINE></SPLITINLINE>, which restores the argument list, accumulates
378
+
Thus, we return from the evaluation to a special entry point <SPLITINLINE><SCHEME><SCHEMEINLINE>ev-appl-accum-last-arg</SCHEMEINLINE></SCHEME><JAVASCRIPT><JAVASCRIPTINLINE>ev_appl_accum_last_arg</JAVASCRIPTINLINE></JAVASCRIPT></SPLITINLINE>, which restores the argument list, accumulates
379
379
the new argument, restores the saved
380
380
<SPLITINLINE><SCHEME>procedure</SCHEME><JAVASCRIPT>function</JAVASCRIPT></SPLITINLINE>, and goes off to
381
381
perform the
@@ -407,15 +407,15 @@ function is_last_operand(ops) {
<SPLITINLINE><SCHEME><SCHEMEINLINE>list-of-values</SCHEMEINLINE></SCHEME><JAVASCRIPT><JAVASCRIPTINLINE>list_of_values</JAVASCRIPTINLINE></JAVASCRIPT></SPLITINLINE> of section<SPACE/><REFNAME="sec:core-of-evaluator"/>
436
-
(see exercise<SPACE/><REFNAME="ex:arg-eval-order"/>).</FOOTNOTE> Because the <SPLITINLINE><SCHEMEINLINE>first-operand</SCHEMEINLINE><JAVASCRIPTINLINE>first_operand</JAVASCRIPTINLINE></SPLITINLINE>
436
+
(see exercise<SPACE/><REFNAME="ex:arg-eval-order"/>).</FOOTNOTE> Because the <SPLITINLINE><SCHEME><SCHEMEINLINE>first-operand</SCHEMEINLINE></SCHEME><JAVASCRIPT><JAVASCRIPTINLINE>first_operand</JAVASCRIPTINLINE></JAVASCRIPT></SPLITINLINE>
437
437
selector (used in <SPLITINLINE><SCHEME><SCHEMEINLINE>ev-appl-operand-loop</SCHEMEINLINE></SCHEME><JAVASCRIPT><JAVASCRIPTINLINE>ev_appl_operand_loop</JAVASCRIPTINLINE></JAVASCRIPT></SPLITINLINE> to extract successive operands
438
438
from <SCHEMEINLINE>unev</SCHEMEINLINE>) is implemented as <SPLITINLINE><SCHEME><SCHEMEINLINE>car</SCHEMEINLINE></SCHEME><JAVASCRIPT><JAVASCRIPTINLINE>head</JAVASCRIPTINLINE></JAVASCRIPT></SPLITINLINE> and the <SPLITINLINE><SCHEME><SCHEMEINLINE>rest-operands</SCHEMEINLINE></SCHEME><JAVASCRIPT><JAVASCRIPTINLINE>rest_operands</JAVASCRIPTINLINE></JAVASCRIPT></SPLITINLINE> selector is implemented as <SPLITINLINE><SCHEME><SCHEMEINLINE>cdr</SCHEMEINLINE></SCHEME><JAVASCRIPT><JAVASCRIPTINLINE>tail</JAVASCRIPTINLINE></JAVASCRIPT></SPLITINLINE>, the
439
439
explicit-control evaluator will evaluate the operands of a combination
@@ -477,13 +477,12 @@ function is_last_operand(ops) {
477
477
(goto (label unknown-procedure-type))
478
478
</SCHEME>
479
479
<JAVASCRIPT>
480
-
<!-- \indcode*{apply-dispatch} -->
481
-
"apply_dispatch",
482
-
test(op("is_primitive_procedure"), reg("fun")),
483
-
branch(label("primitive_apply")),
484
-
test(op("is_compound_procedure"), reg("fun")),
485
-
branch(label("compound_apply")),
486
-
go_to(label("unknown_procedure_type")),
480
+
"apply_dispatch",
481
+
test(op("is_primitive_function"), reg("fun")),
482
+
branch(label("primitive_apply")),
483
+
test(op("is_compound_function"), reg("fun")),
484
+
branch(label("compound_apply")),
485
+
go_to(label("unknown_procedure_type")),
487
486
</JAVASCRIPT>
488
487
</SNIPPET>
489
488
</TEXT>
@@ -534,11 +533,13 @@ function is_last_operand(ops) {
0 commit comments