(load "functions.lisp") (define-macro dlambda (&rest methods) (cons (quote lambda) (cons (quote (&rest arguments)) (list (cons (quote case) (cons (quote (first arguments)) (mapcar (lambda (method) (cons (first method) (list (cons (quote apply) (cons (cons (quote lambda) (rest method)) (list (if (equal t (car method)) (quote arguments) (quote (rest arguments))))))))) methods)))))))