`exp: 3``env: {}``cnt: [primother -, 4, {}, [done]]``exp: x``env: {x=7, {x=4, {}}}``cnt: [primother +, x, {x=4, {}}, [done]]``val: 10``cnt: [app <x, proc(y)*(y, 2), {x=8, {}}>, [apparg x, {x=8, {}}, [done]]]``val: <x, proc(y)+(x, y), {x=9, {}}>``cnt: [apparg 7, {x=9, {}}, [apparg x, {x=9, {}}, [done]]]``val: <w, if w then (f proc(x)1) else w, {f=<g, *((g 3), 4), {}>, {}}>``cnt: [app <g, *((g 3), 4), {}>, [done]]`

`val: 1``cnt: [raise [done]]``exp: 1``env: {}``cnt: [primother +, raise 3, {}, [done]]``val: 0``cnt: [if raise 1, 5, {}, [done]]``exp: 5``env: {}``cnt: [handle <x, +(x, 1), {}> [prim +, 1, [done]]]``exp: raise 5``env: {}``cnt: [handle <x, +(x, 1), {}> [prim +, 1, [done]]]``val: 5``cnt: [raise [handle <x, 7, {}> [handle <y, 8, {}> [done]]]]``val: <y, 5, {}>``cnt: [app <g, try (f 1) handle g, {f=<x, raise 1, {}>, {}}>, [done]]`

`exp: (f proc(x)5)``env: {f=<y, continue k y, {k=[let f, (f proc(x)5), {}, [prim +, 1, [done]]], {}}>, {}}``cnt: [prim +, 1, [done]]`

Last update: Thursday, November 21st, 2002mflatt@cs.utah.edu |