$42.60 with 53 percent savings
List Price: $89.99

The List Price is the suggested retail price of a new product as provided by a manufacturer, supplier, or seller. Except for books, Amazon will display a List Price if the product was purchased by customers on Amazon or offered by other retailers at or above the List Price in at least the past 90 days. List prices may not necessarily reflect the product's prevailing market price.
Learn more
$3.99 delivery Tuesday, July 9. Details
Or fastest delivery July 3 - 8. Details
Only 1 left in stock - order soon.
$$42.60 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$42.60
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Love 2 Books
Ships from
Love 2 Books
Sold by
Sold by
Returns
Eligible for Return, Refund or Replacement within 30 days of receipt
Eligible for Return, Refund or Replacement within 30 days of receipt
Returnable Yes
Resolutions Eligible for refund or replacement
Return Window 30 days from delivery
Refund Timelines Typically, an advance refund will be issued within 24 hours of a drop-off or pick-up. For returns that require physical verification, refund issuance may take up to 30 days after drop-off or pick up. Where an advance refund is issued, we will re-charge your payment method if we do not receive the correct item in original condition. See details here.
Late fee A late fee of 20% of the item price will apply if you complete the drop off or pick up after the ‘Return By Date’.
Restocking fee A restocking fee may apply if the item is not returned in original condition and original packaging, or is damaged or missing parts for reasons not due to seller error. See details here.
Returns
Eligible for Return, Refund or Replacement within 30 days of receipt
Returnable Yes
Resolutions Eligible for refund or replacement
Return Window 30 days from delivery
Refund Timelines Typically, an advance refund will be issued within 24 hours of a drop-off or pick-up. For returns that require physical verification, refund issuance may take up to 30 days after drop-off or pick up. Where an advance refund is issued, we will re-charge your payment method if we do not receive the correct item in original condition. See details here.
Late fee A late fee of 20% of the item price will apply if you complete the drop off or pick up after the ‘Return By Date’.
Restocking fee A restocking fee may apply if the item is not returned in original condition and original packaging, or is damaged or missing parts for reasons not due to seller error. See details here.

Return instructions

Item must be in original condition and packaging along with tag, accessories, manuals, and inserts. Unlock any electronic device, delete your account and remove all personal information.
Read full return policy
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Payment
Secure transaction
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Practical Common Lisp 1st ed. Edition

4.7 4.7 out of 5 stars 117 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$42.60","priceAmount":42.60,"currencySymbol":"$","integerValue":"42","decimalSeparator":".","fractionalValue":"60","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"bjMjgfYezzgmA2Y8hIzT7OBdxtNaFblZ%2F7APvsQr%2FYNEkgUtAUTHsAlH6GkCSd8rDhjbw%2F%2BYs6j1QfzSbv1lxOsjn5gI19VAc5UFbz%2Biaoo46YFL4WNe0mWM3ERDXDjQbcPuCghZtcr1K9OVD9AK8w0RmWjip8YLrr0rOKiMhXUusVCKhjbQYlz7uoKSFQMk","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}]}

Purchase options and add-ons

...it has a fresh view on the language and the examples in the later chapters are usable in your day-to-day work as a programmer. — Frank Buss, Lisp Programmer and Slashdot Contributor

If you're interested in Lisp as it relates to Python or Perl, and want to learn through doing rather than watching,
Practical Common Lisp is an excellent entry point. — Chris McAvoy, Chicago Python Users Group

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.


Amazon First Reads | Editors' picks at exclusive prices

Frequently bought together

$42.60
Only 1 left in stock - order soon.
Ships from and sold by Love 2 Books.
+
$51.07
Get it as soon as Friday, Jul 5
Only 9 left in stock (more on the way).
Ships from and sold by Amazon.com.
+
$26.68
Get it as soon as Friday, Jul 5
Only 7 left in stock (more on the way).
Ships from and sold by Amazon.com.
Total price:
To see our price, add these items to your cart.
Details
Added to Cart
spCSRF_Control
Some of these items ship sooner than the others.
Choose items to buy together.

Editorial Reviews

About the Author

Peter Seibel is a serious developer of long standing. In the early days of the Web, he hacked Perl for Mother Jones and Organic Online. He participated in the Java revolution as an early employee at WebLogic which, after its acquisition by BEA, became the cornerstone of the latter's rapid growth in the J2EE sphere. He has also taught Java programming at UC Berkeley Extension. He is the author of Practical Common LISP from Apress.

Product details

  • Publisher ‏ : ‎ Apress; 1st ed. edition (April 11, 2005)
  • Language ‏ : ‎ English
  • Hardcover ‏ : ‎ 500 pages
  • ISBN-10 ‏ : ‎ 1590592395
  • ISBN-13 ‏ : ‎ 978-1590592397
  • Item Weight ‏ : ‎ 2.44 pounds
  • Dimensions ‏ : ‎ 7.19 x 1.45 x 10.41 inches
  • Customer Reviews:
    4.7 4.7 out of 5 stars 117 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Peter Seibel
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Peter Seibel is either a writer turned programmer or programmer turned writer. After picking up an undergraduate degree in English and working briefly as a journalist, he was seduced by the web. In the early '90s he hacked Perl for Mother Jones magazine and Organic Online. He participated in the Java revolution as an early employee at WebLogic and later taught Java programming at UC Berkeley Extension. Peter is also one of the few second-generation Lisp programmers on the planet and was a childhood shareholder in Symbolics, Inc.

In 2003 he quit his job as the architect of a Java-based transactional messaging system to hack Lisp for a year. Instead he ended up spending two years writing a book, the Jolt Productivity Award winning Practical Common Lisp. His most recent book is Coders at Work, a collection of Q&A interviews with fifteen notable programmers and computer scientists.

When not writing books and programming computers Peter enjoys practicing tai chi. He live in Berkeley, California, with his wife Lily, daughters Amelia and Tabitha, and their dog Mahlanie.

Customer reviews

4.7 out of 5 stars
4.7 out of 5
117 global ratings

Top reviews from the United States

Reviewed in the United States on August 2, 2023
This shouldn't be your first Lisp book or your first programming book. There is just too much in here to comprehend all at once for the beginner. To learn from this book you would be well off to have learned Python, Pascal, ALGOL or some other language that includes passing procedures as argumenst to functions. You also should be familiar with SQL, stacks, pointers, objects, files, recursion, linked lists and trees. After that, you should also learn a little Lisp. Only then is this a great book.

If you have that background you will find Practical Common Lisp a joy to read. Take just the first meaningful chapter, Chapter 3, Practical - A Simple Database. This is just the first example where Mr. Seibel shines as a teacher. The chapter begins simply enough by showing how lists are a nice organizational tool. He uses abstractions which the experienced programer knows would allow moving from lists in a small database to a relational database for data storage. He takes the reader from data, to easier data entry functions, to database queries and onwards. Here it gets fun. He shows how lisps flexible function argument specificaton is well suited for an elegant implementation of selecting records (like an SQL WHERE clause in a SELECT), and then moves right into macros in Lisp. What Seibel has done in that chapter is to gracefully move from a simple list through sophisticated function design and end up demonstrating macros in a single chapter. Also, it is not just toy code doing one thing, but several functions working on a database or functions that are utility functions in accessing a database.

As a programmer Lisp now impresses. Those little single function examples that show how nice Lisp is don't capture the fun it is to program in Lisp. Any decent programmer can implement a single purpose Lisp function in their language of choice. What Lisp has going for it is flexible calling conventions in functions and built in data structures that effortlessly allow pointer manipulation programming without all the tedious futzing around with pointer manipulation.

This all gets back to why you want to have some programming experience initially. Lisp data structures are all pointer based. However, you don't see the pointers. You see lists and variables. If you are a programmer you know the benefits of working with pointers, but you have to spend time manipulationg those pointers to use your data structures. In Lisp, you just have data structures and Lisp handles all the pointer issues. Very slick. Seibel talks about developing some code to handle a data store in Chapter 3 and references ideas from SQL and mentions data and procedural abstractions. If you know those things it makes sense what Seible is doing in this little chapter. If this were your first programming book all of those issues would be unknown and you'd be lost in why Seibel was doing things the way he was.

I've been programming for years, so I hadn't picked up any of the enlightenment the Lisp supposedly brings. I have to express that this early chapter brought about my first enlightenment about programming. In functions in other languages a missing argment to a function would be an error. However, a missing argument alternatively could meansomething is unimportant. In lisp a missing argument enters a function as a logical false. The aha moment for me was recognizing that one way to use arguments that are missing is to change the internal processing in a function. The very elegant example that Seibel provides is where he defines a functiokn WHERE that uses missing values to generate don't care states in a complex test of a data structure. He does this sweetly on a simple list with keyword properties. He dosen't explicitly tell you what he just did. That is the marvelous part of his exposition. Everything comes out as "of course," but as a programmer the design clarity is inspiring and you see how Lisp supports the clear expression of design. This is why this is a good book on Lisp, it both teaches Lisp and educates the student on the benefit of Lisp.

The chapters include code that builds on other code in the book. This gets away from the single function examples that show how to do stuff in Lisp, but don't really educate about Lisp.

Learning some lisp first will get you past the usual first horror about Lisp. As an aside, Lisp is realy just a bunch of function calls. rather than the typical f(x) notation in most programs, Lisp uses (f x). It's just a different postion of the left parenthesis. Additionally, learning some lisp will teach you the basics of functions, mapping functions, and get you familiar with accessing the function pointer and value associated with symbols. Seibel has chapters on these topics, but they are short, too short for the student to really gain an understanding needed to appreciate and learn to program in Lisp. If I retitled the book I'd name it "Expressing yourself in Lisp". Another reason to learn some lisp is because the code examples from the book are available for download and are is ASDF format. If you know some lisp you;ll appreciate that the code is thus available.

Well, that was a roundbout review. As you can see, my reommendation for this as a second book about Lisp was not meant to disparage the work. Instead I think this is a superb book that will take you from just having a basic knowledge about lisp to bring you to intermediate to advanced skills.

So, should you buy it? After all, the whole book is available online free for the download. Honestly, I have been reading the book and have the PDF on my iPad. I bought it for several reasons. This book exists because a publisher paid the author for the work. Authors want to make money, and I want other authors to want to write books. Seibel gets a cut of the purchase and I've learned enough from this I want to pay him. I get a hardbound copy, which reads better and is easier to flip from secton to section in.

I've mentioned that this should not be the first book and you should lear some lisp. To learn lisp go to this site: https://stevelosh.com/blog/2018/08/a-road-to-common-lisp/#s9-a-road-to-learning-common-lisp and follow the recommendations. He recommends the book "Common Lisp: A Gentle Introduction to Symbolic Computation". The next book recomended is this book, Practical Common Lisp. The website A road to learning ... is an excellent guide. After all, there is more to learn about Lisp than is in Practical common Lisp. That website is a good guide.
2 people found this helpful
Report
Reviewed in the United States on February 17, 2010
First, these are my credentials as a reviewer. I have read this entire book (some parts more than once). I have completed modestly large freelance projects using php, actionscript, python and c. I do not have a formal background in computer science (I have a degree in Art). I learn by practice and by reading books.

Thinking of this book, here's what comes to mind, -one of the most enjoyable learning experiences I have had. It communicates itself with effectiveness, originality and a careful attention to detail.

When I first began using this book, I was skeptical of it. Chapter 3 introduces Common Lisp with a 'Practical', a step-by-step build-up of a small Lisp program. The next few chapters explain syntax, functions, variables and macros.

I was skeptical because, at the time, I understood little of Chapter 3 and it seemed to me that the following chapters (syntax, functions, variables, etc.) should have preceded Chapter 3. There are no end-of-chapter directives and only the 'Practical' chapters include significant tasks for cementing concepts. What does it mean?

It becomes evident that this organization is a good thing. It forces the reader to engage the book with a fresh approach. After reading a few chapters following Chapter 3, a necessary re-read of Chapter 3 yields great understanding. It sets the reader into a rhythm of reading... reading some parts once for creative enjoyment and once again for critical comprehension.

This is an important aspect of this book and my appreciation of it. The author does not try to anticipate and satisfy the expectations of the reader (a linear presentation of mixed code/explanation). Instead, like an artist, the author presents his method and changes the reader's perspectives to match his own.

The organization also adds something to the long-term usability of the book. Mini-programs and behavior test-cases are mostly reserved for the 'Practical' chapters. The other chapters are not cluttered with these things and are devoted to single topics. 'For example there is a chapter devoted to numbers. Another chapter is about the 'format' function, Common Lisp's equivalent of printf. The material in these chapters is patiently and thoroughly presented.

This is one of my favorite books. After reading it I was able to write a Common Lisp program that uses classes, packages and macros.
8 people found this helpful
Report
Reviewed in the United States on September 7, 2017
To an outsider, LISP seems like a slow, ugly, language for doing AI. Turns out, it's nothing of the sort -- it's perhaps one of the most advanced and feature laden languages out there having capabilities well beyond things you find in other languages, allowing you to do what seems impossible.

Perhaps a crud way of describing is that you know how a high-level language complies into an abstract syntax tree of some intermediate representation which then is converted into low-level code for actual execution? LISP has a phase in the middle of that, where not only can you manipulate the intermediate representation, but you can alter the grammar of the reader itself and construct your own language that's designed for your given application. It's code that generates and manipulates code -- not a transpiler, not a text-preprocessor, not a different way of looking at functions.

Practical Common Lisp does a *beautiful* job of explaining the concepts, the language, and the practical bits and pieces you need to know to get what's happening well beyond syntax. It's side discussions and footnotes are pure gold and themselves are worth the cost of admission. The book goes deep into the libraries, the differences between environments, and covers many gotchas.

The book actually changes the way you think about programming, even if you've done it for years. It's that good.
14 people found this helpful
Report

Top reviews from other countries

Translate all reviews to English
Marcelo Parrela
5.0 out of 5 stars Conhecimento e Maestria
Reviewed in Brazil on March 18, 2021
O autor do livro "Practical Common Lisp" descreve com maestria as principais características da linguagem Common-Lisp e nos encoraja a repensar a programação tradicional.

Esse livro é excelente!
One person found this helpful
Report
Amritpal s.
5.0 out of 5 stars Book for the smart.
Reviewed in India on June 1, 2022
Smart programmers are usually lisp programmers. This book is an excellent guide to learn lisp. Be sure to read through. Peter is an excellent author.
M J Smith
5.0 out of 5 stars Aha - used books from Amazon!
Reviewed in the United Kingdom on February 20, 2013
I have only just discovered that you can get used books from Amazon, so I went this way to get a spare copy of Seibel's Practical Common Lisp - - a volume that any Lisp programmer will want to own at least one of - - but I didn't want to pay full price so I went for a used one. When it turned up I was smack mouthed to find a hardback, and in spanking condition too. Blimey. Brilliant.
Cajetan Bouchard
4.0 out of 5 stars Not the first book for young programmers
Reviewed in Canada on January 14, 2010
This is a good book to learn Common Lisp.

Unfortunately, it's not a good book for someone who never program before. It more structure for adept programmers who want to learn an other language. I wouldn't say that you will master the common lisp after you read the book but you will have understand a lot of things.

The chapters are progressive and you use concept that you learned in the previous chapters. The only thing that I don't like is that the examples are not easy for people who never programed in Lisp (or common lisp) for the reason that doing a specific way is not well explain.

[...].
Stefan Roock
5.0 out of 5 stars Das Buch macht Spaß
Reviewed in Germany on March 6, 2007
Das Buch gehört zu den sehr wenigen IT-Büchern, bei denen das Lesen Spaß macht.

Auch wenn man selbst nicht mit Common Lisp arbeiten wird, öffnet das Buch ganz neue Perspektiven. Es ist schon erstaunlich, wie weit Common Lisp seiner Zeit voraus war und noch ist.

Das Macro-System (nicht zu vergleichen mit dem C-Macros) erlaubt die Definition eigener Sprachen in Common Lisp - ein Ansatz, der heute als DSL (Domain Specific Language) bekannt ist und mit vergleichsweise wahnsinnig hohem Aufwand und Code-Generierung betrieben wird.

So kann man eigentlich bei jedem Feature anderer Programmiersprachen sagen: "Das hat Common Lisp auch, nur mächtiger und flexibler."
11 people found this helpful
Report