You may only use the following LISP functions and predicates

(car x) (cdr x) (cons x y) (atom x) (null x) (eq x y) (equal x y) (numberp x) (listp x) (eval y) (funcall x ...) (apply x y)

special forms (including logic connectives)

(defun ...) (defmacro ...) (let ((x y) (u v)...) z) (let* ((x y) (u v) ...) z) (lambda (x y) ...) (quote x) and its short form 'x (function y) as well as # `( ...)[added 21/Oct -- note gcl and clisp are slightly different here!](list a1 a2 ...) (if x y z) (cond ... ) (and x y ...) (or x y ...) (not x)

and numeric operators and comparisons such as

(+ x y) (- x y) (* x y) (/ x y) (< x y) (mod x y)You may also use a combination of car and cdr, such as[added 17/Oct](floor x)[added 17/Oct](ceiling x)[added 17/Oct](> x y) (= x y) (<= x y) (>= x y)

(cadr ...), (cdaar ...)as well as

(first x) (second x) (third x) ... (rest x)

- etc.

If you would like to use any other (pureLisp) functions or forms, please contact us.