\

Show HN: I wrote a technical history book on Lisp

124 points - today at 3:43 PM


The book page links to a blog post that explains how I got about it (and has a link to sample content), but the TL&DR is that I could not find a lot of books that were on "our" history _and_ were larded with technical details. So I set about writing one, and some five years later I'm happy to share the result. I think it's one of the few "computer history" books that has tons of code, but correct me if I'm wrong (I wrote this both to tell a story and to learn :-)).

My favorite languages are Smalltalk and Lisp, but as an Emacs user, I've been using the latter for much longer and for my current projects, Common Lisp is a better fit, so I call myself "a Lisp-er" these days. If people like what I did, I do have plans to write some more (but probably only after I retire, writing next to a full-time job is heard). Maybe on Smalltalk, maybe on computer networks - two topics close to my heart.

And a shout-out to Dick Gabriel, he contributed some great personal memories about the man who started it all, John McCarthy.

Source
  • jll29

    today at 9:43 PM

    I felt, like some of the other commenters, that I was close to buying the book, but that the sample on Amazon wasn't helping to support a buying decision.

    But thankfully the bibliography is given on the book's Web site in full, so I just checked if the most important paper on the history of early LISP [1] was cited or not. It wasn't, so I'm going to pass on ordering the book's first edition.

    [1] https://dl.acm.org/doi/abs/10.1145/800055.802047

      • emigre

        today at 10:08 PM

        Thanks for sharing that paper, I didn't know about it. It looks really interesting.

    • alexhans

      today at 8:52 PM

      Great endeavour. Land of lisp is still one of my favourite alternative programming books.

      One thing about the sample. Is there a chance to get a glimpse of a random chapter you like a lot? Most of it seems to be foreword/acknowledgement and a bit on "what is lisp" which I suspect most who are attracted might already know.

        • embedding-shape

          today at 9:11 PM

          > Is there a chance to get a glimpse of a random chapter you like a lot?

          +1, I'm this close of ordering the hard-cover version, but really hesitant when there is zero samples, not even a page or two, makes it really hard to have any sort of expectation and figuring out if the price is worth it or not.

      • emigre

        today at 6:40 PM

        I have some feedbak, nothing major, but I would say that a professional designer could help you improve the book cover. Right now somebody with professional experience in graphic design --or a good eye for design-- can probably see details in it that could be improved. It's a pity if you have worked on this for five years, not to present it in the best possible way.

          • cdegroot

            today at 7:16 PM

            Yup. I'm not happy with the design. Some promised assistance fell through and so I had to scramble last minute. I've seen worse though :)

            (Specific tips on improving the current design welcome, most stores allow edits)

              • today at 9:45 PM

                • emigre

                  today at 7:42 PM

                  Definitely don't worry too much about it. I did not want to sound negative, it's just the first thing that came to mind as feedback. I haven't had the time to read the book, only had time to look at the cover, haha. :D

                    • emigre

                      today at 7:55 PM

                      When one learns about graphic design, one ends up obsessing about these kinds of things. "These text lines need a tiny little bit more of space"... "Those margins are slighly too small"...

                      It's just job conditioning... At some point in my life I was playing the game of trying to recognize the fonts I was looking at in the adds and signs as I walking down the street.

                  • emigre

                    today at 7:35 PM

                    Yes, yes, definitely, it's okay. I like the design, actually. :) But it would be nice to have the touch of a professional, if you can.

                    I would say that your choice of cover design as a whole denotes elegance and taste. Look at the cover design of graphic designer Manuel Estrada:

                    https://estradadesign.eu/project/alianza-editorial/

                    Your cover remind me of that kind of style.

                    There are some details about the typeface, layout, and the photograph that, as somebody with a certain background in graphic design, I can perceive as a little bit off.

                      • cdegroot

                        today at 7:55 PM

                        The photograph was chosen because I could not find other computer books with that somewhat harsh color scheme, and you gotta stand out :)

                • wk_end

                  today at 7:17 PM

                  The cover design is nice enough IMO, but it definitely looks like a self-help book or something rather than a technical monograph.

                  The image on the site has incorrect capitalization ("A History of..."), though the one on Amazon appears to be corrected.

                    • cdegroot

                      today at 7:56 PM

                      It's the eBook cover for Kobo which I used there. Thanks, I'll go and fix it tonight.

                  • DerArzt

                    today at 7:04 PM

                    It's more likely that they focused on the book's content rather than the cover art for 5 years

                      • emigre

                        today at 7:38 PM

                        I have not said that he should spend five years focusing on the cover of the book.

                • emigre

                  today at 5:30 PM

                  I will take a look, it looks really interesting. Thanks for the effort. I'm also interested in Lisp.

                  I think you might like this: 'The evolution of Lisp' by Guy L. Steele and Richard P. Gabriel. https://doi.org/10.1145/234286.1057818

                    • nocman

                      today at 9:14 PM

                      I think it is worth noting that Richard P. Gabriel wrote the forward to the book in question, and he quotes Guy L. Steele in that forward -- from the paper that you are suggesting the author might like.

                        • emigre

                          today at 9:40 PM

                          Or you mean he'll probably already know about the paper? Yes, I guess that's probably the case...

                          I did not think about it too much to be honest, I just knew that article and thought that he would really like it if he had not read it. But I can imagine somebody writing a book on the history of Lisp has already read probably all articles around on the topic.

                          I just did not think about it for too long.

                          • emigre

                            today at 9:24 PM

                            Yes, so it makes sense that he'll like it, if he did not know the paper already.

                        • emigre

                          today at 7:40 PM

                          This one is similar but about Haskell, and is quite interesting as well: 'A history of Haskell: being lazy with class' by Paul Hudak, Simon Peyton Jones et al. https://doi.org/10.1145/1238844.1238856

                      • kamma4434

                        today at 6:51 PM

                        I skimmed the index butโ€ฆ no Clojure? My impression is that it is by far the most used current Lisp. This said, Iโ€™d love to read the book - definitely interesting.

                          • cdegroot

                            today at 7:14 PM

                            There's a whole chapter on Clojure, don't worry :) (that's probably why it didn't make the index)

                        • wduquette

                          today at 5:50 PM

                          Sounds very cool. I've dabbled with Lisp on and off since the mid-80's, starting with a text adventure in LISP-80 on a Kaypro 4, and though I've never written a serious project in Lisp I've learned a great deal from it. (Wrote a lot of TCL code once upon a time; I've always thought of TCL as a Lisp in which you do a lot of things backwards.)

                            • cdegroot

                              today at 7:29 PM

                              I think "minimalistic" languages like Tcl, and Lua, took a good look at Lisp before starting off.

                          • spariev

                            today at 7:50 PM

                            Great book, I will definitely buy it, thanks for your work! The history is very important, as youโ€™ve said in your blog post, but companies and universities donโ€™t care much about such things unfortunately. I see there is a chapter on Clojure, so just wondering if you had the chance to interview Rich Hickey for the book?

                              • cdegroot

                                today at 7:54 PM

                                No, I didn't. I probably should have, but the sheer magnitude of the project ran off with all my good ideas :). There's already a bunch of things I want to add in a second edition, if that ever happens, there are just so many stories to tell and only so much time. .

                            • emigre

                              today at 8:15 PM

                              Positive feedback: really nice that this is available in Rakuten Kobo (as a Kobo user).

                              • emigre

                                today at 7:57 PM

                                Having some personal memories about John McCarthy included in the book is amazing.

                                • Jach

                                  today at 8:02 PM

                                  This is a nice and unexpected release, thanks for writing it. Getting a RPG endorsement is great. I just finished reading his foreword and skimming the table of contents and bibliography from the preview. I'd have liked to see a sample of a middle chapter to really see how technical and deep it gets (e.g. Land of Lisp gives its chapter 8 as a sample which I think is very representative for that book). But I plan to get this book regardless -- just not right now.

                                  The back blurb hints that expert systems might be mentioned, but how much? No one ever seems to go much into their implementation or usage.[0] It also mentions writing some JS, which I guess is part of chapter 5, I wonder if that was a publisher request. (My favorite take on that subject in recent years is https://github.com/jart/sectorlisp)

                                  Would it be fair to say this is mainly a history told through the lens of AI and PL research?

                                  Amusingly I think part of me is already setting myself up for some disappointment -- it seems too short with too few references! But it's good to have a Lisp history book like this looks to be and I'm sure I'll learn things from it, and the promise of more RPG writings inside is enticing. Besides, any complete telling would take multiple books. (There's so much of historical interest locked up in proprietary applications and companies with their own histories, and so many papers published, there's also so much that can be dug through in the standardization mailing list (and other lists, like emacs) archives[1], the SAIL archives[2], the Xerox PARC archives[3], the CMU archives[4], and the many undigitized things sitting in boxes at the computer history museum...[5])

                                  [0] Norvig's PAIP gives a small taste, one of the files: https://github.com/norvig/paip-lisp/blob/main/lisp/mycin-r.l... And a book about a particular system, MYCIN: https://www.shortliffe.net/Buchanan-Shortliffe-1984/MYCIN%20... And a short video: https://youtube.com/watch?v=a65uwr_O7mM

                                  [1] http://ml.cddddr.org/ and http://cl-su-ai.lisp.se/

                                  [2] https://www.saildart.org/

                                  [3] The url I had before is down... I made a local copy but https://archive.org/details/2014.01.ftp.parc.xerox.com might be the same content

                                  [4] https://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/...

                                  [5] Even in the earliest Lisp reports like https://www.researchgate.net/publication/42766480_Artificial... there are interesting things mentioned like a two-move checkmate program or "Other projects on which work continues include the Advice Taker, visual pattern recognition, and an artificial hand." Multiple times I've tried to track down those sorts of things mentioned in really old papers only to hit dead-ends on so many of them. Sometimes things were embellished, or were abandoned, or were just lost to time, and sometimes there's an undigitized box at the museum that might contain printouts etc. (There might be MYCIN source code, even.)

                                  • bitwize

                                    today at 9:06 PM

                                    It's Cees de Groot! Or "Carpe Grootem" as my brain has called him for years. I remember his contributions to the Squeak community from back in the day.

                                    • HackerThemAll

                                      today at 9:39 PM

                                      "arguably the most powerful programming language in the history of computing"

                                      That can be said about quite a few languages, Forth included. The most powerful != easy to use and/or comprehend.

                                      • today at 6:26 PM