On this page:
letrec
let
let*

3.4 letrec, let, and let*

(letrec ([id expr-for-let] ...) expr)
Similar to local, but essentially omitting the define for each definition.

A expr-for-let can be either an expression for a constant definition or a lambda form for a function definition.

(let ([id expr-for-let] ...) expr)
Like letrec, but the defined ids can be used only in the last expr, not the expr-for-lets next to the ids.

(let* ([id expr-for-let] ...) expr)
Like let, but each id can be used in any subsequent expr-for-let, in addition to expr.