{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreiepdc2afz6zlikngn53ss5k2pq4niovuhituewxkkurvjmfmyvcta",
"uri": "at://did:plc:wvbzyoyqr6q5pgezutm4sf3v/app.bsky.feed.post/3mmlkowpcnsx2"
},
"path": "/large/fascicles/proc/",
"publishedAt": "2026-05-23T20:11:14.000Z",
"site": "https://r7rs.org",
"tags": [
"lisp",
"https://r7rs.org/large/fascicles/proc/",
"R7RS-Large issue tracker",
"Working Group 2 mailing list",
"Scheme Reports mailing list",
"Comments"
],
"textContent": "Scheme 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!`.\n\nThe draft is available here:\n\nhttps://r7rs.org/large/fascicles/proc/\n\nThe 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:\n\n\n (define (map f lst)\n (unless (list? lst)\n (error 'map \"not a list\" lst))\n (define (map* lst acc)\n (if (null? lst)\n (reverse acc)\n (map* (cdr lst) (cons (f (car lst)) acc))))\n (map* lst '()))\n\n\nWe welcome any and all comments on the draft. Anyone can comment by:\n\n * Filing an issue on the R7RS-Large issue tracker\n * Sending mail to the Working Group 2 mailing list (you do not need a Google account)\n * Sending mail to the Scheme Reports mailing list at scheme-reports@scheme-reports.org\n * Sending mail to the corresponding member Peter McGoron at code@mcgoron.com. He will forward your comment to the public issue tracker. Please indicate if you wish to be anonymous.\n\n\n\nComments",
"title": "Procedural Fascicle for R7RS Large Scheme"
}