Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Practical Common Lisp

    Practical Common Lisp

    Peter Seibel · 2005

    Lisp is often thought of as an academic language, but it need not be. This is the first book that introduces Lisp as a language for the real world. Practical Common Lisp presents a thorough introduction to Common Lisp, providing you with an overall understanding of the language features and how they work. Over a third of the book is devoted to practical examples, such as the core of a spam filter and a web application for browsing MP3s and streaming them via the Shoutcast protocol to any standard MP3 client software (e.g., iTunes, XMMS, or WinAmp). In other "practical" chapters, author Peter Seibel demonstrates how to build a simple but flexible in-memory database, how to parse binary files, and how to build a unit test framework in 26 lines of code.

    Lisp & Functional
    Open LibraryAmazon
    Stats for nerds
    218recommend
    400mentions
    294people
    2007–2026years
    73% recommend24% neutral3% critical

    Mentions per year

    20072009201120132015201720192021202320252026

    What Hacker News says

    1. GeorgeTirebiterAug 2026
      I suggest Practical Common Lisp by Seibel https://gigamonkeys.com/book/

      I now generate ALL of my hobby projects in CL (SBCL on windows). I tell the LLM to 'over-comment' the code, so I get to learn as I read the output. It has been glorious. I generally use the web browser on an unused port on localhost for user IO (beautiful pages), and the app just hooks to Hunchentoot to serve.

      Any 'real' programming language (meaning, one that is truly general purpose: numeric stacks, Web front and back ends, system code, utilities, etc) will always have some cruft. In CL, at least you can understand why some cruft exists. And you get used to it, because it's not like e.g. C where there are some very dark corners indeed. Check out Peter's book!

      CL lets you build real apps, for real. No toys. This has value.

      thread
    2. pratikdeoghareJul 2026
      Shut up and learn Common Lisp using Practical Common Lisp.

      This would be my advice. Why? My own road was haphazard. Other books broaden your mind and teach you really cool tricks. This book gets you using lisp like you would say golang. But it still teaches you the lisp things and broadens your mind. Time spent choosing will be better spent reading this book. After that PAIP, On Lisp, SICP etc.

      thread
    3. gentoofluxJan 2026
      Practical Common Lisp by Peter Seibel, and then The C Book by Mike Banahan, Declan Brady and Mark Doran. No clue why those books in that order, but they both proved to be decent choices.

      Then I had a couple of jobs where I was given access to data and opportunities to go beyond my expected duties by doing things with that data, i.e. automation and reporting.

      thread
    4. drekipusJan 2026
      I'm looking for some books to help me practise and refine my skills as a developer and Engineer.

      I'm currently working in python on a django project, working in a financial domain. I lead a few engineers and direct/manage some projects. But I feel like I'm missing out on something when I read about people making things in zig and rust, or how they apply some numerical modelling techniques to certain problems, plus the new technologies being developed. I feel like I'm very much not knowledgeable or distinguishable enough, so I want to refine my skill a bit and maintain "sharp" in case of something happening and i need to find a new job quickly. And i want to make sure that I'm learning all that I could be learning in my current position.

      Some previous books I've read / enjoyed:

      * The makings of an Expert Engineer * Designing data intensive applications (haven't finished, moved house and lost the book, want to pick it up again) * Designing Elixir Systems with OTP * Practical Common Lisp

      I feel like I have learned a bit with the Elixir/CL books, inwhich I apply to how i write python, but I never branch out to doing my own projects in these languages, so I feel like I'm missing out on utilizing these tools fully.

      Is there anything to read that could take me to the proverbial next level?

      thread
    5. adreganOct 2025
      One neat thing about the referenced chapter on macros from Practical Common Lisp is that it's chapters 7 and 8 of a 30+ chapter book. You're only learning about variables in the chapter before and then macros. I like to think about that when conversations about macros always devolve into talking about how you should never use macros.

      Now apologies for the aside—and I know I'm likely wading into a very expansive topic and reducing it down to something simple—but why in Rust, if the types are known:

          struct Song {
            title: String,
            artist: String,
            rating: i64,
          }
      
      do you have to call `.to_string()` on things that look a lot like strings already?

          Song::new("Hate Me".to_string(), "Blue October".to_string(), 9)
      
      Couldn't the compiler just do that for you?
      thread
    6. guenthertJul 2025
      > Like, is behavior when running a script in "interpreter" mode guaranteed to be the same as when running in "native compiled code"?

      The ANSI Common Lisp standard applies to all compliant implementation, regardless of whether they interpret or compile the language. In earlier Lisps there might have been a difference, in Common Lisp that would be a bug.

      > At what point does the compiler create an intermediate representation?

      ??? Are you referring to macro-expansion time?

      > Why does SBCL not use LLVM?

      Other than for historic reasons, why would it?

      > At what point are #-starting words(read macros?) evaluated and how is that different from interpreting to compiling

      You're answering your own question. Read macros are evaluated at read time.

      I'm not sure whether those questions are really all that relevant to someone just starting to learn the language.

      Practical Common Lisp is a fine starting point and Common Lisp The Language (2nd edition) will keep you busy for a looong time.

      thread

    Related

    Cover of On LISP
    2007–2026

    On LISP

    Paul Graham
    192 recommend · 533
    Cover of ANSI Common Lisp
    2007–2025

    ANSI Common Lisp

    Paul Graham
    67 recommend · 177
    Cover of Land of Lisp
    2009–2026

    Land of Lisp

    Conrad Barski
    124 recommend · 256
    Cover of Common Lisp Recipes
    2015–2024

    Common Lisp Recipes

    Edmund Weitz
    20 recommend · 38
    Cover of Lisp in Small Pieces
    2007–2026

    Lisp in Small Pieces

    Christian Queinnec
    101 recommend · 246
    Cover of Let  Over Lambda
    2008–2026

    Let Over Lambda

    Doug Hoyte
    66 recommend · 127
    Cover of Object-oriented programming in Common LISP
    2013–2024

    Object-oriented programming in Common LISP

    Sonya E. Keene
    8 recommend · 12
    Cover of Structure and Interpretation of Computer Programs
    2007–2026

    Structure and Interpretation of Computer Programs

    Harold Abelson
    347 recommend · 761