Piecing Together a Printed Copy of "On Lisp"


Here's a re-creation (in SVG) of the missing figures from Paul Graham's "On Lisp", based on scans of the missing figures (thanks to Ramakrishnan Muthukrishnan).

And here's an updated version of the PDF (2.7MB) that includes the figures and which has been tweaked for printing as a 6x9 book at Lulu.

Tedious Details

I prefer reading printed copies of books, so when I finally got around to reading Paul Graham's "On Lisp", I was keen to find a printed version.

The book is long out of print, and used copies are selling for hundreds of dollars, but Paul Graham has very kindly made a PDF of the book available. So I decided to put together a print-on-demand version at Lulu.


The Amazon listing for the original book says that the size was 8.9x5.9 inches (which seems about right to me, roughly matching the size of my copy of ANSI Common Lisp).

I've had pretty good experiences with Lulu for print-on-demand books in the past, and it looks like the nearest size there is "US Trade", 6x9 inches.

The PDF file is sized at 8.5x11 inches, but the text block is fairly small within it – it looks to be around 323x505 (PostScript) points, with an extra 33 points above it for a head. Overall, this means the printed area of the PDF falls within around 4.5x7.5 inches, which should be fine as-is for a 6x9 bound copy.

Next, checking the page numbering I noticed that page 1 of the book falls at the 14th page of the PDF. That means it will fall on a left-hand page, but it should be on a right-hand page, and the same is true through the rest of the book – the page with 29 printed at the top right is page 42 of the PDF, and so will fall left not right. The numbering of the front matter (i, ii, iii, iv etc) falls correctly, so I inserted a blank page (effectively page xiv) after the table of contents and before the main body of the book.

To create the PDF, I did the following steps in Adobe Acrobat 7:

Content: Missing Diagrams

The PDF download page notes that 9 of the diagrams are missing from the PDF, so I wanted to hunt down copies of those pictures. A thread on comp.lang.lisp from September 2009 indicated that only 7 figures were actually missing, and Patrick May gave their descriptions as:

Continuing to search the web, it a gentleman called Ramakrishnan Muthukrishnan posted a scan of the missing diagrams at www.zerobeat.in/wiki/doku.php?id=onlisp_missing_figures in 2009, but that site is now gone. The Google cache and the Wayback Machine don't seem to have anything helpful, and Google Books doesn't show any content that might hold the pictures either.

So I emailed Ramakrishnan and he sent me a copy of the scans, which are now available here.

From the scans, it becomes clear why there was confusion about the count of missing figures (7 or 9). Two extra figures are mostly code examples, but with arrows drawn on:

In the meanwhile, I'd attempted to recreate the figures from these descriptions and from the surrounding text, in SVG using Inkscape. My efforts were mostly fairly close to the actual figures once they arrived, so I've tweaked the formatting to match more exactly and stuck with the SVG versions. Each diagram links through to its SVG source.


It would be nice to recreate the original cover of the book, so I went looking for source materials.

For a 6x9" paperback with 427 pages, the Lulu cover wizard gives dimensions:

Putting this together into Photoshop, I ended up with a rough-and-ready one-piece cover here (13MB PNG).


After all of the preparation above, getting the Lulu version of the book set up was straightforward. Lulu's pricing (as of Jan 2011) comes out as:

Copyright (c) 2011 David Drysdale

Back to Home Page | Contact me