(defun fn-y (t1 t2 va-ctx) | i | (set i 0) (while (< i (va-count va-ctx)) (printf "fn-y=>Y-VA[%d]=>[%d]\n" i (va-get i va-ctx)) (set i (+ i 1)) ) ) (defun x(a b ... ::: x y z) |i| (set x (va-count)) (set y (* a b)) (set z (+ a b)) (set i 0) (while (< i (va-count)) (printf "VA[%d]=>[%d]\n" i (va-get i)) (set i (+ i 1)) ) (fn-y "hello" "world" (va-context)) (return) ) (set t (x 10 20 30)) (if (/= t 1) (printf "ERROR: t is not 1\n") else (printf "OK: %d\n" t)) (set t (set-r a b c (x 10 20 30 40 50))) (if (/= t 3) (printf "ERROR: t is not 3\n") else (printf "OK: %d\n" t)) (if (/= a 3) (printf "ERROR: a is not 3\n") else (printf "OK: %d\n" a)) (if (/= b 200) (printf "ERROR: b is not 200\n") else (printf "OK: %d\n" b)) (if (/= c 30) (printf "ERROR: c is not 30\n") else (printf "OK: %d\n" c))