# MATH show how to execute a sequence of instructions
[hear] (intro begin);
[hear] (define prev-translate / translate);
[hear] (define reverse /
? x /
if (>= (list-length / x) 1)
(prepend
(last /
x)
(reverse /
except-last /
x))
(x));
# test reverse
[hear] (list= (vector 1 2 3) (reverse / vector 3 2 1));
[hear] (define translate /
let ((prev (prev-translate)))
(? x /
if (number? /
x)
(prev /
x)
(if (= (head / x) begin)
(translate
(vector
(vector ? x (vector head (vector x)))
(prepend vector (reverse / tail / x))))
(prev /
x))));
[hear] (= (begin 1 7 2 4) 4);
[hear] (= (begin
(set! (demo-mut1) 88)
(set! (demo-mut1) 6)
(get! /
demo-mut1))
6);
[hear] (= (begin
(set! (demo-mut2) 88)
(set! (demo-mut1) 6)
(get! /
demo-mut2))
88);
[hear] (= (begin
(set! (demo-mut1) 88)
(set! (demo-mut1) 6)
(get! /
demo-mut1)
4)
4);