On this page:
recur
Version: 4.1

5.10 recur

(recur id ([id expr] ...) expr)

A short-hand recursion construct. The first id corresponds to the name of the recursive function. The parenthesized ids are the function’s arguments, and each corresponding expr is a value supplied for that argument in an initial starting call of the function. The last expr is the body of the function.

More precisely, a recur form

  (recur func-id ([arg-id arg-expr] ...)

    body-expr)

is equivalent to

  ((local [(define (func-id arg-id ...)

             body-expr)]

     func-id)

    arg-expr ...)