(defun init-scheme-interpreter nil (set-global-var! 't t) (set-global-var! 'nil nil) (set-global-var! 'pi pi) (set-global-var! 'get (symbol-function 'get)) (set-global-var! 'put #'(lambda (sym key value) (setf (get sym key) value))) (mapc #'(lambda (pair) (set-global-var! (car pair) (symbol-function (cadr pair)))) '((+ +) (- -) (* *) (/ /) (abs abs) (sqrt sqrt) (sin sin) (cos cos) (atan atan) (= =) (< <) (> >) (<= <=) (>= >=) (cons cons) (car car) (cdr cdr) (not not) (append append) (list list) (member member) (null? null) (eq? eq) (equal? equal) (eqv? eql) (read read) (write prin1) (display princ) (newline terpri))) )