問題4.4
(define (eval-and-sequence exps env) (if (null? exps) 'true (if (true? (eval (first-exp exps) env)) (eval-and-sequence (rest-exps exps) env) 'false))) (define (eval-and exp env) (eval-and-sequence (cdr exp) env)) (put 'eval 'and eval-and) (define (eval-or-sequence exps env) (if (null? exps) 'false (if (true? (eval (first-exp exps) env)) 'true (eval-and-sequence (rest-exps exps) env)))) (define (eval-or exp env) (eval-or-sequence (cdr exp) env)) (put 'eval 'or eval-or)