P16: a blog by Matt Kangas home archive
20 Feb 2008

Erlang: Update on "Little Schemer", ways to improve documentation

For those of you tuning in for Erlang news...

I'm still slowly posting updates to my "Little Schemer" in Erlang code. It's roughly complete, save for Chapter 10, which implements an interpreter for a Scheme-like language. I've also added numerous great enhancements suggested by readers like you. :-) If I missed anything, please let me know!

I also got a very nice personal email from Joe Armstrong, who encouraged me to think bigger and turn this into a real book, not just a companion to the original text. He suggested that I contact the original publisher and see if they'd be interested in a rewrite. While this is very gratifying to hear :-) – and I may indeed contact MIT Press – I'm somewhat more interested in self-publishing.

Mark Pilgrim's approach for "Dive Into Python" would probably be my model. He wrote it in DocBook XML, published to the web, solicited lots of feedback... and wound up with an acclaimed introductory text, translated into multiple languages and published by Apress in a dead-trees version. So not only is he now a bona-fide author, it truly helps grow the Python community worldwide, and he never has to worry about his work gathering dust due to an apathetic copyright owner – it's GPL'd!

Joel On Software would be another famous example of self-publishing done right.

(Contrast with Armstrong's earlier book, "Concurrent Programming in Erlang", now out of print. Only the first half of the book is downloadable. Prentice Hall still owns the copyright.)

I've also been causing a small stink on erlang-questions. Stemming from the above thinking, I wanted to find out how the online Erlang manual gets assembled and where the source-code lives. Sadly, the answer is: it's not public yet.

I think the Erlang team keeps everything in a ClearCase repository – which they're surely loath to discard, because they've used it forever. But ClearCase simply can't be exposed as a "public" repository in the way that CVS/SVN/git can. Sadly, until they cross this divide, the process will be more cathedral than bazaar.