Root Cause of the Problem?
(value-of
<< let double = proc (x) if zero?(x) then 0 else -((double -(x,1)), -2)
in (double 6) >>
ρ₀)
=
(value-of
<< (double 6) >>
ρ₁)
=
(value-of
(call-exp double 6)
ρ₁)
=
(value-of
<< if zero?(x) then 0 else -((double -(x,1)), -2) >>
[x=6]ρ₀)
=
(value-of
<<-((double -(x,1)), -2)>>
[x=6]ρ₀)
ρ₀ = []
ρ₁ = [double=(proc-val (procedure x <<if zero?(x) then 0 else -((double -(x,1)), -2)>> ρ₀))]ρ₀