(defun my-show (exp)
    (print exp )
    (print (eval exp))
    (terpri)
    (terpri)
)

(defun showall ()
    (my-show t)
    (my-show nil)
    (my-show "hello")
    (my-show 10)
    (my-show '(eq t t))
    (my-show '(eq nil nil))
    (my-show '(eq t nil))
    (my-show '(null nil))
    (my-show '(null t))
    (my-show '(quote (a b c)))
    (my-show '(eq 'a 'a))
    (my-show '(eq '(a b) '(a b)))
    (my-show '(car '(a b c)))
    (my-show '(cdr '(a b c)))
    (my-show '(cons 'foo '(a b c)))
    (my-show '(setq a '(a b c)))
    (my-show 'a)
    (my-show '(cond (nil 1)(t 2) (t 3)))
    (my-show '(cond ((eq t nil) 1)((eq t t) 2)(t 3)))
    (my-show '(defun rev (L R) (cond ((null L) R) (t (rev (cdr L) (cons (car L) R))))))
    (my-show '(rev a nil))
    (my-show '(rev (rev  a nil) nil))
    (my-show '(defun app (L R)(cond ((null L) R)(t (cons (car L) (app (cdr L) R))))))
    (my-show '(app (app a a) (app a a)))
)

(showall)
