Section 15
Want more of a challenge? View in
iconic
form (
experimental
)
# MATH introduce mutable objects, and side-effects
[
hear
]
(intro make-cell);
[
hear
]
(intro set!);
[
hear
]
(intro get!);
[
hear
]
(define demo-mut1 / make-cell 0);
[
hear
]
(set!
(demo-mut1)
15);
[
hear
]
(=
(get! / demo-mut1)
15);
[
hear
]
(set!
(demo-mut1)
5);
[
hear
]
(set!
(demo-mut1)
7);
[
hear
]
(=
(get! / demo-mut1)
7);
[
hear
]
(define demo-mut2 / make-cell 11);
[
hear
]
(=
(get! / demo-mut2)
11);
[
hear
]
(set!
(demo-mut2)
22);
[
hear
]
(=
(get! / demo-mut2)
22);
[
hear
]
(=
(get! / demo-mut1)
7);
[
hear
]
(=
(+
(get! / demo-mut1)
(get! / demo-mut2)
)
29);
[
hear
]
(if
(=
(get! / demo-mut1)
7)
(set!
(demo-mut1)
88)
(set!
(demo-mut1)
99)
);
[
hear
]
(=
(get! / demo-mut1)
88);
[
hear
]
(if
(=
(get! / demo-mut1)
7)
(set!
(demo-mut1)
88)
(set!
(demo-mut1)
99)
);
[
hear
]
(=
(get! / demo-mut1)
99);