Lisp 这个xkcd代码是做什么的?
在《今日》杂志上,以下内容作为一个笑话出现在标签上 那么下面的代码是做什么的Lisp 这个xkcd代码是做什么的?,lisp,scheme,Lisp,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-assi
(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))))
它本质上是一个简单的解释器,如果您假设所有必需的方法都已填写。它来自SICP,主要是4.1元循环计算器。要澄清的是:除了错误消息,它正是SICP 4.1代码。有没有可能找到此xkcd页面的原始(permalink)代码?