31 lines
1.5 KiB
Common Lisp
31 lines
1.5 KiB
Common Lisp
;; (SET 'APPLY '(LAMBDA (E ARGS)
|
|
;; ((LAMBDA (APPQ)
|
|
;; (CONS ))
|
|
;; '(LAMBDA (M)
|
|
;; (COND ((EQ M 'NIL) 'NIL)
|
|
;; ('T (CONS (QUOTE (CAR M))
|
|
;; (APPQ (CONS 'QUOTE (CDR M))))))))))
|
|
;; (SET 'LIST '(LAMBDA (X Y) (CONS X (CONS Y 'NIL))))
|
|
;; (SET 'AND '(LAMBDA (P Q) (COND ((EQ P 'T) Q) ('T 'F))))
|
|
;; (SET 'OR '(LAMBDA (P Q) (COND ((EQ P 'T) 'T) ('T Q))))
|
|
;; (SET 'NOT '(LAMBDA (P) (COND ((EQ P 'F) 'T) ('T 'T))))
|
|
;; (SET 'IMPLIES '(LAMBDA (P Q) (COND ((EQ P 'T) Q) ('T 'T))))
|
|
|
|
((LAMBDA (CALL MKQUOT NULL AND APPEND KEYS VALS E A)
|
|
(CALL (CONS (CONS (QUOTE LAMBDA) (CONS (KEYS (QUOTE A)) (CONS E NIL))) (VALS (QUOTE A)))))
|
|
(QUOTE (LAMBDA (X) (X)))
|
|
(QUOTE (LAMBDA (X) (CONS (QUOTE QUOTE) (CONS X NIL))))
|
|
(QUOTE (LAMBDA (P Q) (COND ((EQ P (QUOTE T)) Q) ((QUOTE T) (QUOTE F)))))
|
|
(QUOTE (LAMBDA (X) (AND (QUOTE (ATOM X)) (QUOTE (EQ X NIL)))))
|
|
(QUOTE (LAMBDA (X Y) (COND ((EQ X NIL) Y) ((QUOTE T) (CONS (CAR X) (APPEND (QUOTE (CDR X)) (QUOTE Y)))))))
|
|
(QUOTE (LAMBDA (A) (COND ((EQ A NIL) NIL) ((QUOTE T) (CONS (CAR (CAR A)) (KEYS (QUOTE (CDR A))))))))
|
|
(QUOTE (LAMBDA (A) (COND ((EQ A NIL) NIL) ((QUOTE T) (CONS (MKQUOT (QUOTE (CDR (CAR A)))) (VALS (QUOTE (CDR A))))))))
|
|
(QUOTE (AND (QUOTE A) (QUOTE C)))
|
|
(CONS (CONS (QUOTE A) (QUOTE B)) (CONS (CONS (QUOTE C) (QUOTE D)) NIL)))
|
|
|
|
((LAMBDA (FF X) (FF 'X))
|
|
'(LAMBDA (X)
|
|
(COND ((ATOM X) X)
|
|
((QUOTE T) (FF '(CAR X)))))
|
|
'((A) B C))
|