(load "chez-init.ss") (load "env.ss") (load "parser.ss") (load "interpreter.ss") (define v 1) (define (rl) (load "chez-init.ss") (load "env.ss") (load "parser.ss") (load "interpreter.ss") (write v) (set! v (+ v 1)) (newline)) (define eval-one-exp (lambda (exp) (top-level-eval (expand-syntax (parse-expression exp))))) (define rep (lambda () (display "--> ") (let ([input (read)]) (if (equal? input '(exit)) (printf "Bye...~%") (let* ([parse-tree (parse-expression input)] [expanded-tree (expand-syntax parse-tree)] ; [response (top-level-eval parse-tree)]) [response (top-level-eval expanded-tree)]) (pretty-print response) (rep))))))