rat% clojure Clojure 1.10.0 user=> (load-file "cs378/cs378.clj") #'user/quit user=> (load-file "cs378/test1b.clj") #'user/runall user=> (load-file "cs378/asg1.clj") #'user/tojava user=> (runall) (sum '()) = 0 (sum '(42)) = 42 (sum '(1 2 3 4 5)) = 15 (sum '(1 -1 2 -2)) = 0 (sumtr '()) = 0 (sumtr '(42)) = 42 (sumtr '(1 2 3 4 5)) = 15 (sumtr '(1 -1 2 -2)) = 0 (sumr '()) = 0 (sumr '(42)) = 42 (sumr '(1 2 3 4 5)) = 15 (sumr '(1 -1 2 -2)) = 0 (sumsq '()) = 0 (sumsq '(1)) = 1 (sumsq '(-1)) = 1 (sumsq '(3)) = 9 (sumsq '(3 4)) = 25 (sumsq '(1 -2 3 4 -5)) = 55 (sumsqtr '()) = 0 (sumsqtr '(1)) = 1 (sumsqtr '(-1)) = 1 (sumsqtr '(3)) = 9 (sumsqtr '(3 4)) = 25 (sumsqtr '(1 -2 3 4 -5)) = 55 (sumsqmr '()) = 0 (sumsqmr '(1)) = 1 (sumsqmr '(-1)) = 1 (sumsqmr '(3)) = 9 (sumsqmr '(3 4)) = 25 (sumsqmr '(1 -2 3 4 -5)) = 55 (union '() '()) = () (union '(1) '()) = (1) (union '() '(1)) = (1) (union '(1 2) '()) = (2 1) (union '(1) '(2)) = (1 2) (union '(1 2) '(3)) = (2 1 3) (union '(1) '(2 3)) = (1 2 3) (union '(1 4) '(2 3)) = (4 1 2 3) (set-difference '() '()) = () (set-difference '(1) '()) = (1) (set-difference '() '(1)) = () (set-difference '(1) '(1)) = () (set-difference '(1) '(2)) = (1) (set-difference '(1 2 3) '(1 3)) = (2) (set-difference '(1 2 3) '(2 4 5)) = (3 1) (binomial 0) = (1) (binomial 1) = (1 1) (binomial 2) = (1 2 1) (binomial 3) = (1 3 3 1) (binomial 4) = (1 4 6 4 1) (maxbt 42) = 42 (maxbt '(42)) = 42 (maxbt '(37 42)) = 42 (maxbt '(37 39 42)) = 42 (maxbt '(42 ())) = 42 (maxbt '(() 42 ())) = 42 (maxbt '(() 42 a b 37)) = 42 (maxbt '((1 pie 7) (-3 2 eggs) (((foo (((42)))))))) = 42 (vars 42) = () (vars 'a) = (a) (vars '(= 42 a)) = (a) (vars '(= (+ b c) a)) = (c b a) (vars '(= (+ b c) (Math/sqrt a b))) = (c a b) (vars '(= f (* m a))) = (f m a) (occurs 'x '()) = false (occurs 'x 'x) = true (occurs 'x '(x)) = true (occurs 42 '(42)) = true (occurs 'x '(42 x)) = true (occurs 'x '(= x 42)) = true (occurs 'x '(= (+ x y 42))) = true (occurs 'z '(= (+ x y 42))) = false (occurs 'm '(= f (* m a))) = true (myeval 42) = 42 (myeval '(- 42)) = -42 (myeval '(+ 11 31)) = 42 (myeval '(- 49 7)) = 42 (myeval '(* 21 2)) = 42 (myeval '(/ 3318 79)) = 42 (myeval '(expt 2 7)) = 128.0 (myeval '(- 11 (- 31))) = 42 (myeval '(+ 3 (* 5 7))) = 38 (myevalb 42 '()) = 42 (myevalb 'a '((a 42))) = 42 (myevalb '(+ a 31) '((a 11))) = 42 (myevalb '(+ 11 a) '((a 31))) = 42 (myevalb '(+ a b) '((a 11) (b 31))) = 42 (myevalb '(- a) '((b 31) (a -42))) = 42 (myevalb '(+ 7 (* 5 b)) '((b 7))) = 42 (tojava 'x) = x; (tojava 42) = 42; (tojava '(- x)) = (-x); (tojava '(- 42)) = (-42); (tojava '(= x y)) = x=y; (tojava '(= x 42)) = x=42; (tojava '(= x (- 42))) = x=(-42); (tojava '(= x (+ y z))) = x=y+z; (tojava '(= x (- y z))) = x=y-z; (tojava '(= x (* y z))) = x=y*z; (tojava '(= x (/ y z))) = x=y/z; (tojava '(= x (+ a (- b)))) = x=a+(-b); (tojava '(= x (* (+ a b) c))) = x=(a+b)*c; (tojava '(= x (* (+ a b) (- (+ (- c) d))))) = x=(a+b)*(-((-c)+d)); (tojava '(sin 42)) = Math.sin(42); (tojava '(sin (cos (tan 42)))) = Math.sin(Math.cos(Math.tan(42))); (tojava '(= x (* (+ a b) (sin (/ c d))))) = x=(a+b)*Math.sin(c/d); (tojava '(= x (* (+ a b) (- (sin (/ c (atan d))))))) = x=(a+b)*(-Math.sin(c/Math.atan(d))); nil user=> (quit)