(eval-when (eval compile) (cond ((status no singularity MACLISP)) ((status feature NALET) (sstatus feature For-NIL)) ((status nofeature For-NIL) (sstatus feature FM) (sstatus feature FOR-MACLISP))) ) (herald LET /90) #-FM (globalize LET LET* DESETQ) #+(or For-MacLISP NALET LISPM) (eval-when (compile) (sstatus feature BadNULL) ) #+NALET (eval-when (compile) (or (get VECTOR VERSION) (load ((LISP) VECTOR))) ;; For the winning version of TYPECASEQ macro (or (get EXTMAC VERSION) (load ((LISP) EXTMAC))) ) (macro |LET.repeated?| (x) (bind-let ((l (gensym))) `(DO ((,l ,(cadr x))) ((NULL ,l) () ) (AND (MEMQ (CAR ,l) (CDR ,l)) (RETURN T)) (POP ,l)))) (macro PUSHNRL (x) (bind-let ((item (cadr x)) (lname (caddr x))) `(SETQ ,lname ! (NRECONC ,item ,lname)))) ;;; Renamings! Due to indisputable symbols already being in pure LISP etc., ;;; so its cheaper to use them, but these names are more descriptive. (macro |LET.do-a-subform| (x) `(|LET.step& dilapidate| ,. (cdr x))) (macro |LET.find-rightmost| (x) `(|LET.match-vars| () ,(cadr x) -1 () )) (macro |LET.in-pattern?| (x)...If you want to get a full essay, order it on our website: OrderCustomPaper.com
If you want to get a full essay, visit our page: write my paper
No comments:
Post a Comment