I recently came across the Guile Hacker Handbook, a work in progress that’s worth a look for any Guile hackers. After some sections on installing Guile (and Emacs) the handbook considers various Scheme constructs and how to use and test them in Guile.
It’s a nice resource. My only criticism is that it jumps right into using modules and bypasses one of Scheme’s virtues: its simplicity. The R5RS Scheme specification that I learned from was 50 pages long, eminently readable, and told you everything you needed to know. You could spend an hour reading it and start writing Scheme programs. It’s absolutely the easiest programming language to learn that I’ve every encountered. It was amazing how far you could get with this simple language.
Still, it wasn’t really great for “professional development” because it didn’t have many of the amenities that modern languages provide. Subsequent versions of the language added things like modules to address these deficiencies. The additions have been controversial. The purists pine for the R5RS days and those who want to use Scheme for “real” programs wanted to move forward. R6RS Scheme, in particular, was controversial and never achieved traction.
The thing with Guile is that it’s an extension language. The original idea was to replace things like TCL as an extension language for GNU programs. R5RS is perfect for that. The current Guile implements most of R5RS and R6RS and is often used as a primary language for programs. Still, it’s useful to approach Scheme through its simplicity and then move on to modules and all the rest. I believe the handbook would do better to follow that path.
Even so, the Guile Hacker Handbook is useful to those who want to use Guile and is definitely worth a look. Again, it’s still a work in progress but what’s there is useful.