133 |
(values (not (not result)) |
(values (not (not result)) |
134 |
(not (not good))))) |
(not (not good))))) |
135 |
|
|
136 |
(eval-when (load eval compile) |
;;; (eval-when (load eval compile) |
137 |
(unless (fboundp 'complement) |
;;; (unless (fboundp 'complement) |
138 |
(defun complement (fn) |
;;; (defun complement (fn) |
139 |
#'(lambda (&rest args) (not (apply fn args)))))) |
;;; #'(lambda (&rest args) (not (apply fn args)))))) |
140 |
|
|
141 |
(defun compose (&rest fns) |
(defun compose (&rest fns) |
142 |
(let ((rfns (reverse fns))) |
(let ((rfns (reverse fns))) |