G make_adder params: x body: def add_x(y):... Current frames: G.

8
G make_adde r params: x body: def add_x(y): ... Current frames: G

Transcript of G make_adder params: x body: def add_x(y):... Current frames: G.

Page 1: G make_adder params: x body: def add_x(y):... Current frames: G.

G

make_adder

params: xbody: def add_x(y): ...

Current frames:G

Page 2: G make_adder params: x body: def add_x(y):... Current frames: G.

G

make_adder

params: xbody: def add_x(y): ...

Current frames:G, E1

E1

x 5

Page 3: G make_adder params: x body: def add_x(y):... Current frames: G.

G

make_adder

params: xbody: def add_x(y): ...

E1x 5add_x

params: ybody: return x + y

add_5

Page 4: G make_adder params: x body: def add_x(y):... Current frames: G.

G

make_adder

params: xbody: def add_x(y): ...

E1x 5add_x

params: ybody: return x + y

add_5

E2y 7

Page 5: G make_adder params: x body: def add_x(y):... Current frames: G.

G

my_list

Current frames:G

1 2 3 4

L

make_first_five

params: lbody: l[0] = 5

E1 5

l

Page 6: G make_adder params: x body: def add_x(y):... Current frames: G.

G

my_list

1 2 3 4

L

my_tuple

1 2 3 4

T

1 2 3 4

T

2 4

Page 7: G make_adder params: x body: def add_x(y):... Current frames: G.

G

count_calls

params: fnbody: num_times = 0,...

E1

num_times 0

fn

params: xbody: return x * x

square

params: argbody: num_times = num_times + 1

counted_square

Page 8: G make_adder params: x body: def add_x(y):... Current frames: G.

G

count_calls

params: fnbody: num_times = 0,...

E1

num_times 0

fn

params: xbody: return x * x

square

params: argbody: num_times = num_times + 1

counted_square

E2

arg 21