Apress / common-lisp-condition-system

Source Code for 'The Common Lisp Condition System' by Michal "phoe" Herda
Other
97 stars 10 forks source link

Verify Scheme's MAKE-PARAMETER #11

Open phoe opened 3 years ago

phoe commented 3 years ago

I got a random comment on HN (then deleted) saying:

Random feedback on your book: when you discussed "make-parameter" in Scheme, I wish you'd mentioned it is not part of the core language, it is an extension (SRFI 39). I was thinking "I don't remember seeing that in R4RS", and then checking R4RS I couldn't find it anywhere. I couldn't find it in R5RS or R6RS either. Then I worked out it was an SRFI. Mentioning that at the start would have saved me some momentary befuddlement.

We need to verify if make-parameter is described properly in our book.

lassik commented 3 years ago

make-parameter originates in SRFI 39 as he says, but it has been adopted as a standard part of R7RS (section 4.2.6. Dynamic bindings) and schemers use it all the time in real code. It's now fine to say it's part of the core language.

He's right that the earlier standards R4RS, R5RS, and R6RS don't have parameter objects. However, the most popular R6RS implementations, Guile and Chez Scheme, do have them.

phoe commented 3 years ago

Thanks for the quick response; it needs to be properly annotated in the next version of the book, so I'll keep this issue open until this ends up in the errata and/or some fixed new edition of the book.