feat: actually add CONJ and DISJ

This commit is contained in:
Edward Langley
2022-09-27 23:14:14 -07:00
parent ede798a04b
commit 84eae95bb4

View File

@ -111,6 +111,21 @@
(funcall fun it) (funcall fun it)
it))) it)))
(defmacro conj (&rest fns)
(let ((dat (gensym "dat")))
`(lambda (,dat)
(and ,@(mapcar (lambda (fn)
`(funcall ,fn ,dat))
fns)))))
(defmacro disj (&rest fns)
(let ((dat (gensym "dat")))
`(lambda (,dat)
(or ,@(mapcar (lambda (fn)
`(funcall ,fn ,dat))
fns)))))
(defun-ct sorted (comparator &rest r &key key) (defun-ct sorted (comparator &rest r &key key)
(declare (ignore key)) (declare (ignore key))
(lambda (it) (lambda (it)