# 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 ```prolog apply(call, [quote(Words)|Stack0], Stack) :- run(Words, Stack0, Stack). infer1(call, [quote(Effect)|Stack0], Stack) :- !, copy_term(Effect, effect(Stack0, Stack)). ```