Hello everyone.<p>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!.<p>The draft is available here:<p><a href="https://r7rs.org/large/fascicles/proc/" rel="nofollow">https://r7rs.org/large/fascicles/proc/</a><p>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:<p><pre><code> (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 '()))
</code></pre>
We welcome any and all comments on the draft. Anyone can comment by<p>* Filing an issue on the R7RS-Large issue tracker <<a href="https://codeberg.org/scheme/r7rs" rel="nofollow">https://codeberg.org/scheme/r7rs</a>>
* Sending mail to the Working Group 2 mailing list <<a href="https://groups.google.com/g/scheme-reports-wg2" rel="nofollow">https://groups.google.com/g/scheme-reports-wg2</a>> (you do not need a google account)
* Sending mail to the Scheme Reports mailing list <<a href="https://scheme-reports.simplelists.com/" rel="nofollow">https://scheme-reports.simplelists.com/</a>> 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.