В Python есть функции all
и any
они возвращают true, если все или некоторые элементы списка являются истинными соответственно. Существуют ли эквивалентные функции в Common Lisp? Если нет, то какой самый сжатый и идиоматический способ написать их?
В настоящее время у меня есть это:
(defun all (xs)
(reduce (lambda (x y) (and x y)) xs :initial-value t))
(defun any (xs)
(reduce (lambda (x y) (or x y)) xs :initial-value nil))