3 ms·
The source of the page has a few hidden gems, including: <SCRIPT LANGUAGE='SCHEME'> (define (eval exp env) (cond ((self-evaluating? exp) exp)
by callahad 17y ago
The source of the page has a few hidden gems, including:
<SCRIPT LANGUAGE='SCHEME'>
(define (eval exp env)
(cond ((self-evaluating? exp) exp)
((variable? exp) (lookup-variable-value exp env))
((quoted? exp) (text-of-quotation exp))
((assignment? exp) (eval-assignment exp env))
((definition? exp) (eval-definition exp env))
((if? exp) (eval-if exp env))
((lambda? exp) (make-procedure (lambda-parameters exp) (lambda-body exp) env))
((begin? exp) (eval-sequence (begin-actions exp) env))
((cond? exp) (eval (cond->if exp) env))
((application? exp) (apply (eval (operator exp) env) (list-of-values (operands exp) env)))
(else (error "Common Lisp or Netscape Navigator 4.0+ Required" exp))))
</SCRIPT>