((LAMBDA (ASSOC EVCON BIND EVAL)
   (EVAL (QUOTE ((LAMBDA (FF X) (FF X))
                 (QUOTE (LAMBDA (X)
                          (COND ((ATOM X) X)
                                ((QUOTE T) (FF (CAR X))))))
                 (QUOTE ((A) B C))))
         NIL))
 (QUOTE (LAMBDA (X E)
          (COND ((EQ E NIL) NIL)
                ((EQ X (CAR (CAR E))) (CDR (CAR E)))
                ((QUOTE T) (ASSOC X (CDR E))))))
 (QUOTE (LAMBDA (C E)
          (COND ((EVAL (CAR (CAR C)) E) (EVAL (CAR (CDR (CAR C))) E))
                ((QUOTE T) (EVCON (CDR C) E)))))
 (QUOTE (LAMBDA (V A E)
          (COND ((EQ V NIL) E)
                ((QUOTE T) (CONS (CONS (CAR V) (EVAL (CAR A) E))
                                 (BIND (CDR V) (CDR A) E))))))
 (QUOTE (LAMBDA (E A)
          (COND
            ((ATOM E) (ASSOC E A))
            ((ATOM (CAR E))
             (COND
               ((EQ (CAR E) NIL) (QUOTE *UNDEFINED))
               ((EQ (CAR E) (QUOTE QUOTE)) (CAR (CDR E)))
               ((EQ (CAR E) (QUOTE ATOM)) (ATOM (EVAL (CAR (CDR E)) A)))
               ((EQ (CAR E) (QUOTE EQ)) (EQ (EVAL (CAR (CDR E)) A)
                                            (EVAL (CAR (CDR (CDR E))) A)))
               ((EQ (CAR E) (QUOTE CAR)) (CAR (EVAL (CAR (CDR E)) A)))
               ((EQ (CAR E) (QUOTE CDR)) (CDR (EVAL (CAR (CDR E)) A)))
               ((EQ (CAR E) (QUOTE CONS)) (CONS (EVAL (CAR (CDR E)) A)
                                                (EVAL (CAR (CDR (CDR E))) A)))
               ((EQ (CAR E) (QUOTE COND)) (EVCON (CDR E) A))
               ((EQ (CAR E) (QUOTE LAMBDA)) E)
               ((QUOTE T) (EVAL (CONS (ASSOC (CAR E) A) (CDR E)) A))))
            ((EQ (CAR (CAR E)) (QUOTE LAMBDA))
             (EVAL (CAR (CDR (CDR (CAR E))))
                   (BIND (CAR (CDR (CAR E))) (CDR E) A)))))))
