A few people have asked for details about the comment system we’re using for the book. I picked up the idea from the drafts of the Django Book and version 3 of the GNU General Public License, both of which were being developed at the time I was thinking about writing a Haskell book and finding collaborators. I believe that Adrian and Jacob thought about enabling comments on individual paragraphs based on the system Jack Slocum put together for his blog.
To the best of my knowledge, the FSF never released the software they developed for managing comments on drafts of their licenses, so that wasn’t an option. When I talked to Adrian and Jacob about possibly reusing their comment software, they demurred, claiming that their code was put together in too much of a rush to be of much use to other people.
Since I was intensely interested in making it easy for people to comment on individual paragraphs based on the experience of the Django and GPL authors, this put me in the position of developing something myself. It wasn’t hard to come up with a few obvious pieces of software that would speed up the development of the comment system.
We’re developing the book using DocBook. I wrote a few small Haskell programs to pluck code snippets out of normal Haskell source files, so that we can refer to preformatted entities instead of having to paste code into the book. We do the same thing with sessions of interaction with ghci, the GHC interpreter. This follows a practice I used when I wrote the Mercurial book, and it’s proved very useful in both instances.
I use xsltproc and a few custom stylesheets to control the generation of HTML, styled afterwards with out-of-line CSS. The browser side of the comment system is a mere 91 lines of Javascript, using the wonderful jQuery toolkit. When I was developing the Javascript code, I made extensive use of Firebug and YSlow, both of which are excellent pieces of software.
On the back end, I wrote a small comment management system using Django, backed by a MySQL database. Django has been a mixed blessing, and I might not rush into using it so quickly again.
In spite of a few rough patches early on (comments being associated with the wrong paragraphs, performance problems), I think the comment system has worked out very well so far. If you’re a writer and have a DocBook project that you’d like to use the system with, let me know and I’ll try to find some time to release it under a free license.
Thanks for your inquiries, and keep the thoughtful and encouraging comments coming!