# Lesson VIII The brush moves once. What was hidden and what is present are no longer two. ## Try ```prolog ?- infer([push(quote([dup, add])), call], Effect). Effect = effect([int|S], [int|S]). ?- run([push(int(3)), push(quote([dup, mul])), call], [], Stack). Stack = [int(9)]. ``` ## Lesson Call is the elimination form the quotation representation was prepared for. We choice to store `quote(effect(In, Out))` and that was strong enough to instantiate and run quoted bodies without rewriting the runtime loop, literal boundary, or primitive row format. ```prolog apply(call, [quote(Words)|Stack0], Stack) :- run(Words, Stack0, Stack). infer1(call, [quote(Effect)|Stack0], Stack) :- !, copy_term(Effect, effect(Stack0, Stack)). ``` [[07_lesson|Prev]] | [[09_lesson|Next]]