opinion by relatively experienced programmer for whom this was the first serious view at a lisp
@cwebber I've read through the whole thing and I have some criticisms, but in general thanks for creating this, it was definitely educational!
First some small editorial things: is one place you say "square root" where I believe you mean "square", and one of the "eval" examples seems to be missing a "'()" as the second argument.
As for didactic value the whole thing is written quite well, with only two problems imo: 1. some of the later examples are underexplained -- this is kinda ok if you want readers to figure out what they are about themselves, but this should probably be specified explicitly and probably clashes with the goal of this being accessible for inexperienced programmers, 2. the connection between lists and quoting is present implicitly but never explored explicitly -- I don't know much about it, but I suspect it might be too involved of a topic for the main text, so maybe mentioning it in a footnote with a link to further reading would be good?
As for Scheme itself it looks cool, but I'm unable to treat any language that is not strongly statically typed seriously. D; Also pattern matching not being a build in feature feels weird, but I respect that it can be added easily. (I also understand and respect the decisions behind typing, I just disagree with them. >:)
Once again thanks for writing this, if I ever need to point someone to a quick primer about Scheme this is an invaluable resource!
QOTO: Question Others to Teach Ourselves. A STEM-oriented instance.
An inclusive free speech instance.
All cultures and opinions welcome.
Explicit hate speech and harassment strictly forbidden.
We federate with all servers: we don't block any servers.