summaryrefslogtreecommitdiff
path: root/util.lisp
blob: 2c4ccc030f593191142756bd9c1e3747374d9fa0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(defmacro inc (x &optional (val 1))
  `(setf ,x (+ ,val ,x)))

;; For system arguments
(defmacro when-option ((options opt) &body body)
  `(let ((it (getf ,options ,opt)))
     (when it
       ,@body)))

(defun max-length (lists)
  (reduce (lambda (a x) (max a x)) (mapcar #'length lists)))

(defun nonempty-p (s)
  (not (zerop (length s))))