Files
advent-of-code/2024/util.lisp

21 lines
547 B
Common Lisp

(defmacro --> (first &rest functions)
(if (null functions)
first
`(let* ,(loop :for f :in (cons first functions)
:appending `((_ ,f)))
_)))
(defun search-all (substr str &optional acc len)
(let ((x (search substr str))
(len (or len 0)))
(if (null x)
(reverse acc)
(search-all substr (subseq str (1+ x))
(cons (+ x len) acc)
(+ len x 1)))))
(defun zip (a b)
(loop for i in a
for j in b
collect (cons i j)))