aboutsummaryrefslogtreecommitdiff
path: root/src/interp/sys-macros.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/sys-macros.lisp')
-rw-r--r--src/interp/sys-macros.lisp57
1 files changed, 0 insertions, 57 deletions
diff --git a/src/interp/sys-macros.lisp b/src/interp/sys-macros.lisp
index 511872c3..6a21d4b3 100644
--- a/src/interp/sys-macros.lisp
+++ b/src/interp/sys-macros.lisp
@@ -208,55 +208,16 @@
#+:common-lisp (:compile-toplevel :load-toplevel :execute)
#-:common-lisp (compile load eval)
(progn
-
- (DEFUN APPLYR (L X)
- (if (not L)
- X
- (LIST (CAR L) (APPLYR (CDR L) X))))
-
- (defun PARTCODET (N)
- (COND ((OR (NULL (INTEGERP N))
- (LT N 1))
- (ERROR 'PARTCODET))
- ((EQL N 1)
- '(CDR))
- ((EQL N 2)
- '(CDDR))
- ((EQL N 3)
- '(CDDDR))
- ((EQL N 4)
- '(CDDDDR))
- ((APPEND (PARTCODET (PLUS N -4)) '(CDDDDR)))))
-
(defun NLIST (N FN)
"Returns a list of N items, each initialized to the value of an
invocation of FN"
(if (LT N 1)
NIL
(CONS (EVAL FN) (NLIST (1- N) FN))))
-
- (defun TAILFN (X N)
- (if (LT N 1)
- X
- (TAILFN (CDR X) (1- N))))
))
-(defmacro TAIL (&rest L)
- (let ((x (car L))
- (n (if (cdr L)
- (cadr L)
- 1)))
- (COND ((EQL N 0)
- X)
- ((EQL N 1)
- (LIST 'CDR X))
- ((GT N 1)
- (APPLYR (PARTCODET N) X))
- ((LIST 'TAILFN X N)))))
-
-
;;
;; -*- Cons Cell Manipulators -*-
;;
@@ -312,24 +273,6 @@
((EQCAR A 'CDR) (LIST 'RPLACD (CADR A) B))
((ERROR 'RPLAC))))))
-(defmacro |rplac| (&rest L)
- (let (a b s)
- (cond
- ((EQCAR (SETQ A (CAR L)) 'ELT)
- (COND ((AND (INTEGERP (SETQ B (CADDR A))) (>= B 0))
- (SETQ S "CA")
- (do ((i 1 (1+ i))) ((> i b)) (SETQ S (STRCONC S "D")))
- (LIST 'RPLAC (LIST (INTERN (STRCONC S "R")) (CADR A)) (CADR L)))
- ((ERROR "rplac"))))
- ((PROGN
- (SETQ A (CARCDREXPAND (CAR L) NIL))
- (SETQ B (CADR L))
- (COND
- ((CDDR L) (ERROR 'RPLAC))
- ((EQCAR A 'CAR) (LIST 'RPLACA (CADR A) B))
- ((EQCAR A 'CDR) (LIST 'RPLACD (CADR A) B))
- ((ERROR 'RPLAC))))))))
-
;;
;; -*- Association Lists -*-
;;