loop:指定値までの繰り返し - lisp-cookbook-ja/common-lisp GitHub Wiki

;; この例では、3から5まで繰り返します。
(loop :for i :from 3 :upto 5 :do (print i))
;-> 3
    4
    5
;=> nil
;; この例では、5から3まで繰り返します。
(loop :for i :from 5 :downto 3 :do (print i))
;-> 5
    4
    3
;=> nil
;; この例では、リストの要素が3を超えるまで繰り返します。
(loop for i in '(1 2 3 4 5) until (< 3 i) collect i)
;=> (1 2 3)