逆引きxyzzy lisp(集計) - circleratio/xyzzy GitHub Wiki
(defun take-head (n lst)
(if (= n 0) nil
(cons (car lst) (take-head (1- n) (cdr lst)))))
(defun count (num lst)
(setf (nth (- num 1) lst) (+ (nth (- num 1) lst) 1))
lst)
(defun count-list (lst result)
(if (= (length lst) 0) result
(count-list (cdr lst) (count (car lst) result))))
(count-list '(1 2 3 3 2 1 1 2) '(0 0 0))
=> (3 3 2)