eval15.lisp 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. ((LAMBDA (ASSOC EVCON PAIRLIS EVLIS APPLY EVAL)
  2. (EVAL (QUOTE ((LAMBDA (FF X) (FF X))
  3. (QUOTE (LAMBDA (X)
  4. (COND ((ATOM X) X)
  5. ((QUOTE T) (FF (CAR X))))))
  6. (QUOTE ((A) B C))))
  7. NIL))
  8. (QUOTE (LAMBDA (X E)
  9. (COND ((EQ E NIL) NIL)
  10. ((EQ X (CAR (CAR E))) (CDR (CAR E)))
  11. ((QUOTE T) (ASSOC X (CDR E))))))
  12. (QUOTE (LAMBDA (C E)
  13. (COND ((EVAL (CAR (CAR C)) E) (EVAL (CAR (CDR (CAR C))) E))
  14. ((QUOTE T) (EVCON (CDR C) E)))))
  15. (QUOTE (LAMBDA (X Y A)
  16. (COND ((EQ X NIL) A)
  17. ((QUOTE T) (CONS (CONS (CAR X) (CAR Y))
  18. (PAIRLIS (CDR X) (CDR Y) A))))))
  19. (QUOTE (LAMBDA (M A)
  20. (COND ((EQ M NIL) NIL)
  21. ((QUOTE T) (CONS (EVAL (CAR M) A) (EVLIS (CDR M) A))))))
  22. (QUOTE (LAMBDA (FN X A)
  23. (COND ((ATOM FN)
  24. (COND ((EQ FN (QUOTE CAR)) (CAR (CAR X)))
  25. ((EQ FN (QUOTE CDR)) (CDR (CAR X)))
  26. ((EQ FN (QUOTE CONS)) (CONS (CAR X) (CAR (CDR X))))
  27. ((EQ FN (QUOTE ATOM)) (ATOM (CAR X)))
  28. ((EQ FN (QUOTE EQ)) (EQ (CAR X) (CAR (CDR X))))
  29. ((QUOTE T) (APPLY (EVAL FN A) X A))))
  30. ((EQ (CAR FN) (QUOTE LAMBDA))
  31. (EVAL (CAR (CDR (CDR FN))) (PAIRLIS (CAR (CDR FN)) X A)))
  32. ((QUOTE T) NIL))))
  33. (QUOTE (LAMBDA (E A)
  34. (COND ((ATOM E) (ASSOC E A))
  35. ((ATOM (CAR E))
  36. (COND
  37. ((EQ (CAR E) (QUOTE QUOTE)) (CAR (CDR E)))
  38. ((EQ (CAR E) (QUOTE COND)) (EVCON (CDR E) A))
  39. ((QUOTE T) (APPLY (CAR E) (EVLIS (CDR E) A) A))))
  40. ((QUOTE T) (APPLY (CAR E) (EVLIS (CDR E) A) A))))))