kramer@cme.nist.gov (Tom Kramer) (04/02/91)
What does this do? How does it work? How long does it take? (defun bleep (arg) (cond ((eq arg 1) 1) ((numberp arg) (bleep (bleep (list arg (list (list (- arg 1))))))) ((and (numberp (car arg)) (zerop (car arg))) nil) ((and (numberp (car arg)) (numberp (cadr arg))) (apply #'+ (mapcar #'(lambda (zz) (bleep (cdr arg))) arg))) ((and (numberp (car arg)) (null (cdr arg))) 1) ((numberp (car arg)) (cons (cadr arg) (bleep (list (1- (car arg)) (cadr arg))))) ((listp (caar arg)) (bleep (mapcar #'bleep arg))) ((not (eq (caar arg) 1)) (bleep (bleep (list (bleep (caar arg)) (list (list (- (caar arg) 1))))))) (t 1)))