evilsの最後の再起が無駄なのでなくしましょう。
修正前
(define evlis (lambda (exps env) (if (pair? exps) (let ((arg1 (evaluate (car exps) env))) (cons arg1 (evlis (cdr exps) env))) '())))
修正後
;exer 1.2 (define evlis (lambda (exps env) (let ((arg1 (evaluate (car exps) env))) (if (= (length exps) 1) (cons arg1 '()) (cons arg1 (evlis (cdr exps) env))))))