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
The procedure `p` is such that when called it calls again itself, so it generates a never-terminating process.
If the interpreter uses applicative order, then when evaluating
\begtt\scm
(test 0 (p))
\endtt
it must first evaluate `(p)`, so the process will never terminate; instead, if the interpreter uses normal order, then by substitution the above expression is expanded into
\begtt\scm
(if (= 0 0) 0 (p))
\endtt
and, because of the evaluation rule of the special form `if`, since the condition `(= 0 0)` is true, the procedure `p` is never called and the result is~$0$.