[R7RS-Large] Public draft #1 of the "Procedural Fascicle" is now available Peter McGoron 20 May 2026 20:09 UTC

Hello everyone.

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

* Filing an issue on the R7RS-Large issue tracker
<https://codeberg.org/scheme/r7rs>
* Sending mail to the Working Group 2 mailing list
<https://groups.google.com/g/scheme-reports-wg2> (you do not need a
google account)
* Sending mail to the Scheme Reports mailing list
<https://scheme-reports.simplelists.com/> and
<scheme-reports@scheme-reports.org>
* Sending mail to the corresponding member Peter McGoron at
<code@mcgoron.com>. I will forward your comment to the public issue
tracker. Please indicate if you wish to be anonymous.

-- Peter McGoron