Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defun list_even_items (L)
- (defun even (L n)
- (if (null L)
- (if (= 0 (mod n 2))
- T
- NIL)
- (even (cdr L) (1+ n))))
- (even L 0))
- (defun sum_atoms (L)
- (defun sum (L n)
- (if (null L)
- n
- (if (numberp (car L))
- (sum (cdr L) (+ n (car L)))
- (sum (cdr L) n))))
- (sum L 0))
- (defun max_depth (L &optional (md 0))
- (defun depth (L n)
- (if (atom L)
- (setq md (max n md))
- (loop for elem in L
- do (depth elem (1+ n)))))
- (depth L md)
- md)
- (defun max_elem (L)
- (defun elems (L)
- (if (atom L)
- (setq me (max me L))
- (loop for elem in L
- do (elems elem))))
- (setq me (car L))
- (elems L)
- me)
- (defun eval_expr (L)
- (defun calc (L)
- (cond ((not (listp L)) L)
- ((null (cdr L)) (calc (car L)))
- ((eq (cadr L) '*) (calc (cons (* (calc (car L)) (calc (caddr L))) (cdddr L))))
- ((eq (cadr L) '/) (calc (cons (/ (calc (car L)) (calc (caddr L))) (cdddr L))))
- ((eq (cadr L) '+) (+ (calc (car L)) (calc (cddr L))))
- (T (- (calc (car L)) (calc (cddr L)))))
- (cond ((not(listp L)) "not list")
- ((null L) "the list is empty")
- (T (calc L)))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement