On this page:
loop

7 Loops🔗

syntax

(loop name bindings body ...)

A basic looping form, analogous to Racket’s named let, that uses pattern-matching bindings.

(loop go ([a 5])
  (when (> a 0)
    (displayln a)
    (go (sub1 a))))
 
(loop go ([[: x xs] [1 2 3 4 5]]
          [a 5])
  (displayln x)
  (unless (null? xs)
    (go xs a)))