diff options
author | Matthias Andreas Benkard <matthias@benkard.de> | 2008-07-27 18:19:33 +0200 |
---|---|---|
committer | Matthias Andreas Benkard <matthias@benkard.de> | 2008-07-27 18:19:33 +0200 |
commit | 0d52c58f1e8941c4c08182710abcb327489b8c99 (patch) | |
tree | 5d314d9f58fe3d09f18b9475cb18273acd0024c2 /list-functions.lisp | |
parent | ea2bddd8ab02ec50b3feb103bd9e698c64bc423f (diff) |
Use DEFUN in order to redefine functions used to implement DEFUN after it has been defined itself.
Diffstat (limited to 'list-functions.lisp')
-rw-r--r-- | list-functions.lisp | 204 |
1 files changed, 103 insertions, 101 deletions
diff --git a/list-functions.lisp b/list-functions.lisp index 5e700c4..91fd5ad 100644 --- a/list-functions.lisp +++ b/list-functions.lisp @@ -1,137 +1,137 @@ -(%defmacro pushq args +(%defmacro* pushq args (list* 'setq (car (cdr args)) (car args))) -(%defun first args - (car (car args))) +(defun first (list) + (car list)) ;;;;----------------------------------------------------------------- ;;;; THE CxR FUNCTIONS ;;;;----------------------------------------------------------------- -(%defun caaaar args - (car (caaar (first args)))) +(defun caaaar (list) + (car (caaar list))) -(%defun caaadr args - (car (caadr (first args)))) +(defun caaadr (list) + (car (caadr list))) -(%defun caaar args - (car (caar (first args)))) +(defun caaar (list) + (car (caar list))) -(%defun caadar args - (car (cadar (first args)))) +(defun caadar (list) + (car (cadar list))) -(%defun caaddr args - (car (caddr (first args)))) +(defun caaddr (list) + (car (caddr list))) -(%defun caadr args - (car (cadr (first args)))) +(defun caadr (list) + (car (cadr list))) -(%defun caar args - (car (car (first args)))) +(defun caar (list) + (car (car list))) -(%defun cadaar args - (car (cdaar (first args)))) +(defun cadaar (list) + (car (cdaar list))) -(%defun cadadr args - (car (cdadr (first args)))) +(defun cadadr (list) + (car (cdadr list))) -(%defun cadar args - (car (cdar (first args)))) +(defun cadar (list) + (car (cdar list))) -(%defun caddar args - (car (cddar (first args)))) +(defun caddar (list) + (car (cddar list))) -(%defun cadddr args - (car (cdddr (first args)))) +(defun cadddr (list) + (car (cdddr list))) -(%defun caddr args - (car (cddr (first args)))) +(defun caddr (list) + (car (cddr list))) -(%defun cadr args - (car (cdr (first args)))) +(defun cadr (list) + (car (cdr list))) (shadow 'car) (unexport 'sys::car (find-package :sys)) -(%defun car args - (sys::car (first args))) +(defun car (list) + (sys::car list)) -(%defun cdaaar args - (cdr (caaar (first args)))) +(defun cdaaar (list) + (cdr (caaar list))) -(%defun cdaadr args - (cdr (caadr (first args)))) +(defun cdaadr (list) + (cdr (caadr list))) -(%defun cdaar args - (cdr (caar (first args)))) +(defun cdaar (list) + (cdr (caar list))) -(%defun cdadar args - (cdr (cadar (first args)))) +(defun cdadar (list) + (cdr (cadar list))) -(%defun cdaddr args - (cdr (caddr (first args)))) +(defun cdaddr (list) + (cdr (caddr list))) -(%defun cdadr args - (cdr (cadr (first args)))) +(defun cdadr (list) + (cdr (cadr list))) -(%defun cdar args - (cdr (car (first args)))) +(defun cdar (list) + (cdr (car list))) -(%defun cddaar args - (cdr (cdaar (first args)))) +(defun cddaar (list) + (cdr (cdaar list))) -(%defun cddadr args - (cdr (cdadr (first args)))) +(defun cddadr (list) + (cdr (cdadr list))) -(%defun cddar args - (cdr (cdar (first args)))) +(defun cddar (list) + (cdr (cdar list))) -(%defun cdddar args - (cdr (cddar (first args)))) +(defun cdddar (list) + (cdr (cddar list))) -(%defun cddddr args - (cdr (cdddr (first args)))) +(defun cddddr (list) + (cdr (cdddr list))) -(%defun cdddr args - (cdr (cddr (first args)))) +(defun cdddr (list) + (cdr (cddr list))) -(%defun cddr args - (cdr (cdr (first args)))) +(defun cddr (list) + (cdr (cdr list))) (shadow 'cdr) (unexport 'sys::cdr (find-package :sys)) -(%defun cdr args - (sys::cdr (first args))) +(defun cdr (list) + (sys::cdr list)) ;;;;----------------------------------------------------------------- ;;;; SECOND ... TENTH ;;;;----------------------------------------------------------------- -(%defun second args - (cadr (car args))) +(defun second (list) + (cadr list)) -(%defun third args - (caddr (car args))) +(defun third (list) + (caddr list)) -(%defun fourth args - (car (cdddr (car args)))) +(defun fourth (list) + (car (cdddr list))) -(%defun fifth args - (cadr (cdddr (car args)))) +(defun fifth (list) + (cadr (cdddr list))) -(%defun sixth args - (caddr (cdddr (car args)))) +(defun sixth (list) + (caddr (cdddr list))) -(%defun seventh args - (car (cdddr (cdddr (car args))))) +(defun seventh (list) + (car (cdddr (cdddr list)))) -(%defun eigthth args - (cadr (cdddr (cdddr (car args))))) +(defun eigthth (list) + (cadr (cdddr (cdddr list)))) -(%defun ninth args - (caddr (cdddr (cdddr (car args))))) +(defun ninth (list) + (caddr (cdddr (cdddr list)))) -(%defun tenth args - (car (cdddr (cdddr (cdddr (car args)))))) +(defun tenth (list) + (car (cdddr (cdddr (cdddr list))))) ;;;;----------------------------------------------------------------- @@ -139,8 +139,8 @@ ;;;;----------------------------------------------------------------- (shadow 'cons) (unexport 'sys::cons (find-package :sys)) -(%defun cons args - (sys::cons (first args) (second args))) +(defun cons (x y) + (sys::cons x y)) ;;;;----------------------------------------------------------------- @@ -149,17 +149,17 @@ (shadow '(consp listp null atom)) (unexport '(sys::consp sys::listp sys::null sys::atom) (find-package :sys)) -(%defun consp args - (sys::consp (first args))) +(defun consp (x) + (sys::consp x)) -(%defun listp args - (sys::listp (first args))) +(defun listp (x) + (sys::listp x)) -(%defun null args - (sys::null (first args))) +(defun null (x) + (sys::null x)) -(%defun atom args - (sys::atom (first args))) +(defun atom (x) + (sys::atom x)) ;(%deftype cons args '(satisfies consp)) ;(%deftype list args '(satisfies listp)) @@ -170,9 +170,9 @@ ;;;;----------------------------------------------------------------- ;;;; OTHER PREDICATES ;;;;----------------------------------------------------------------- -(%defun endp args - (let ((thing (first args))) - ;;FIXME (check-type thing (first args) list) +(defun endp (list) + (let ((thing list)) + ;;FIXME (check-type thing list) (null thing))) @@ -182,14 +182,16 @@ (shadow '(rplaca rplacd)) (unexport '(sys::rplaca sys::rplacd) (find-package :sys)) -(%defun rplaca args - (sys::rplaca (first args) (second args))) +(defun rplaca (cons new-value) + (sys::rplaca cons new-value)) -(%defun rplacd args - (sys::rplacd (first args) (second args))) +(defun rplacd (cons new-value) + (sys::rplacd cons new-value)) ;;;;----------------------------------------------------------------- -(export '(cons car cdr list* first second third fourth fifth sixth - seventh eigthth ninth tenth atom consp listp null rplaca - rplacd)) +(export '(cons list* first second third fourth fifth sixth seventh + eigthth ninth tenth atom consp listp null rplaca rplacd caaaar + caaadr caaar caadar caaddr caadr caar cadaar cadadr cadar + caddar cadddr caddr cadr car cdaaar cdaadr cdaar cdadar cdaddr + cdadr cdar cddaar cddadr cddar cdddar cddddr cdddr cddr cdr)) |