# Procedural Fascicle, Draft #1

> Source: <https://r7rs.org/large/fascicles/proc/1/>
> Published: 2026-05-20 18:00:00+00:00

Working Group 2 is pleased to announce the first draft of
the second part of the R7RS-Large Foundations, the Procedural
Fascicle". This draft encompasses the familiar block programming
forms, such as lambda
, let
,
if
, or
, and set!
.
The draft is available here: https://r7rs.org/large/fascicles/proc/
The biggest new feature is the ability to mix definitions and
expressions in bodies, such as the body of a lambda
.
For example, the following is now valid:
(define (map f lst)
(unless (list? lst)
(error 'map "not a list" lst))
(define (map* lst acc)
(if (null? lst)
(reverse acc)
(map* (cdr lst) (cons (f (car lst)) acc))))
(map* lst '()))
We welcome any and all comments on the draft. Anyone can comment by
