Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Image not available

Tell the Publisher!
I’d like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Practical Common LISP (Expert's Voice in Programming Languages) [Paperback]

Peter Seibel
5.0 out of 5 stars  See all reviews (1 customer review)
Price: £47.49 & FREE Delivery in the UK. Details
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In stock.
Dispatched from and sold by Amazon. Gift-wrap available.
Want it tomorrow, 27 Oct.? Choose Express delivery at checkout. Details

Book Description

6 Jun 2012 1430242906 978-1430242901
Now available in paperback-- 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.

Special Offers and Product Promotions

  • Between 20-26 October 2014, spend £10 in a single order on item(s) dispatched from and sold by Amazon.co.uk and receive a £2 promotional code to spend in the Amazon Appstore. Here's how (terms and conditions apply)

Frequently Bought Together

Practical Common LISP (Expert's Voice in Programming Languages) + Artificial Intelligence: A Modern Approach
Price For Both: £100.30

Buy the selected items together

Product details

  • Paperback: 528 pages
  • Publisher: Springer Verlag GmbH (6 Jun 2012)
  • Language: English
  • ISBN-10: 1430242906
  • ISBN-13: 978-1430242901
  • Product Dimensions: 23.5 x 19 x 2.7 cm
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: 856,907 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, and more.

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

4 star
3 star
2 star
1 star
5.0 out of 5 stars
5.0 out of 5 stars
Most Helpful Customer Reviews
5.0 out of 5 stars Must have introduction to Lisp 25 Oct 2014
Format:Paperback|Verified Purchase
I think this is an excellent book. Very clear, pace is right, at least for me and the examples are practical and relevant. I guess some elementary maths and knowledge of computer language basics is needed to get the best out of it.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 4.6 out of 5 stars  75 reviews
111 of 117 people found the following review helpful
5.0 out of 5 stars A wonderful (and fun) guide to Common Lisp 8 April 2005
By B. Mastenbrook - Published on Amazon.com
I've been recommending this text to people who want to start learning Common Lisp since it was first available in draft form on the author's web site. Now that it's out in print I can enthusiastically recommend that anybody who is interested in learning Common Lisp - or even curious about how the language can improve your productivity - purchase it.

Peter has a very enjoyable and easy-to-understand writing style, and he starts early with practical examples that show how Common Lisp can be used to solved problems. Chapter 3, "A Simple Database", is a great explanation of how programs are grown from pieces in Common Lisp to solve large problems. It's presented early and draws people in to the problem solving techniques used when programming in Lisp.

Peter doesn't skimp on details, though: detailed chapters on FORMAT (for formatted output), LOOP (for general iteration / value collection), and CLOS (the Common Lisp Object System) provide a wonderful tutorial to these powerful but complex features.

The book ends with a long string of practical examples that synthesize multiple concepts into programs that are useful and show exactly why programming in Lisp is so cool. The last practical example, which builds a HTML generation library in Lisp, gives the reader a taste of why writing a Domain-Specific Language is so easy in Lisp and why it can integrate so well with the rest of the language.

Peter is very enthusiastic about Common Lisp and it shows in his writing. Unlike other authors (Paul Graham comes to mind) he gives every major feature of the language its due and shows how and where it should be used.

Practical Common Lisp may be one of the most fun books on programming you'll read all year. Even if you're just curious, check it out. It may change the way you program.
58 of 62 people found the following review helpful
4.0 out of 5 stars Solid introduction 16 April 2005
By Nikodemus Siivola - Published on Amazon.com
Practical Common Lisp is a solid introductory text to Common Lisp for people with previous programming experience, and is sufficiently no-nonsense that even relatively experienced lisp programmers will benefit from it.

Having been exposed to people with no lisp experience who have started learning it from this book, most seem to manage well. Common problems stem from jumping too far ahead: unlike many books who claim to do so, PCL actually has a very nice didactic approach to most things, and benefits from being read in order.

I have very few grivances with the book:

1. I believe that package and symbol semantics could benefit from a thorough treatment earlier in the book -- say around chapter 6, as opposed to being left for chapter 22.

2. While Seibel's style is refreshingly idiomatic[1], he consistently uses Javaesque dotted.package.names, which while not by any means unique to him I still find irritating. Most of the package names in the book are prefixed with com.gigamonkeys, whereas the more traditional approach would be to leave the prefix out totally, or make it com-gigamonkeys.

3. Optimizing lisp code is admittedly a tough topic to deal with, especially when aspiring to give portable advice. The treament given is nonetheless too cursory for my liking. Norvig's advice in "Paradigms of Artificial Intelligence Programming" is far superior, but could still have been improved upon.

These nits aside, I must say that this is definitely a book I wish I'd had when I was learning CL. Recommended to anyone interested in learning Common Lisp.

[1] Some well-known authors of Common Lisp textbooks *cough* Graham *cough* have unfotunately quirky personal styles of writing code that do not mesh that well with what many consider idiomatic lisp. In comparison to this Mr. Seibel's style is clear and provides a good model to emulate.
32 of 33 people found the following review helpful
4.0 out of 5 stars Extremely well written -- now, watch out for the index! 29 Aug 2005
By Rachel Grey - Published on Amazon.com
Peter Seibel's writing style is a joy to read, and (unlike other commenters) I find his footnotes quite useful. Concepts are introduced in a natural and general intuitive ordering, and in general this is a great book for the first-time learner of Lisp.

Now -- WATCH OUT FOR THE INDEX! My first indication that the index of this book was not up to par was an especially useful footnote on page 58 mentioning READ-FROM-STRING, which I couldn't find later when I needed to use READ-FROM-STRING in the small Lisp program I'm writing. A little experimentation convinced me that nothing in the footnotes is listed in the index, and I started reading with a pencil in my hand.

Unfortunately, the index fails in more fundamental ways as well. It would have you believe that the "do" keyword is introduced on page 278, when in fact an entire subsection is devoted to "do" in pages 85-87. If you look up "comment" you'll find no mention of page 49, where comment conventions for block comments, line comments and so forth are described in concise and useful detail. The long list of special characters that stars the alphabet is inexplicably lacking some of the most common operators and directives, such as #', ,@ , ,@ and #. In fact, the only thing the index seems consistently to get right are words that appear in all capital letters in the body of the text.

It slows my reading considerably to constantly be adding pencilled entries to the index, but since it will probably save hours of irritated searching for information in the future, I'm persisting. Let's all hope this glaring flaw is corrected soon in a second edition. In the meantime, there's always the option of searching the full text, which is online on the gigamonkeys site, every time you would normally flip to the index.
30 of 32 people found the following review helpful
5.0 out of 5 stars The best way to learn Lisp 8 April 2005
By Peter Scott - Published on Amazon.com
Lisp has a lot of things to teach us, and it's a very practical tool in its own right. It has all the features you're used to in other languages, usually done very well. There are plenty of good reasons to look seriously at Lisp, and Practical Common Lisp is the best introductory Lisp book out there.

The things that most people don't see when they study Lisp are the interactive development style, macros, and practical applications. Peter Seibel gets you started off properly right from the start, walking you through picking a high-quality Lisp implementation and IDE, and then teaching you how to use it. This is one of the biggest things about Lisp: your program is running as you write it. You write and debug programs incrementally, and it feels good. After getting you started on the basics of using Lisp, Seibel plunges right into writing a simple CD database, with fast compiled queries that look almost like SQL in Lisp.

After you learn more of the basics, Practical Common Lisp goes into the next big neglected topic in Lisp: macros. Ever practical, Seibel uses macros as part of a very pleasant unit testing framework that only takes up 26 lines of code, all of it easy to understand. Macros are a powerful tool, but easy to abuse. This book doesn't abuse them, and that rubs off on you.

The next few chapters cover, clearly and completely, topics dear to the heart of every programmer: high-level data structures, file I/O, object-oriented programming, string processing, complex looping constructs, exceptionally powerful exception handling, and more. I use this book as a friendly reference; whenever I forget how to use something, I look it up here.

From then on, the book is all practical examples. A spam filter, an object-oriented binary file parsing framework, an application of that binary file parsing framework to get ID3 information from MP3 files, and a lot of web programming.

Practical Common Lisp is already the book universally recommended by the Lisp community for learning Lisp the right way. Read it, and you'll never program the same way again.
16 of 16 people found the following review helpful
5.0 out of 5 stars Awesome 25 Oct 2005
By Bill A - Published on Amazon.com
This book is a fantastic introduction to Common Lisp. Too many Lisp books you'll find are either a) incomplete (i.e. little to no discussion of macros or CLOS, two of the most powerful features of Lisp), or b) are written before 1990. Not so with Practical Common Lisp. The book opens up with an introduction to the language itself and then surveys major features of the language before going through a series of practical examples.

The book really shines in its treatment of macros. Before reading PCL, I'd had a rough idea of what macros were and why they were cool, but no idea how to write them. Peter Seibel manages to explain in two chapters what took Paul Graham most of a book (On Lisp) to discuss.

One of the later chapters describes Common Lisp's condition/restart system, which I had never heard of until reading this book. If you are unfamiliar with the condition/restart system, picture the try-throw-catch construct found in other languages, only with the ability to jump back to where the error was thrown and take a different code path. It is incredible that this system gets so little mention outside this book.

The practicals it includes are also very cool. Seibel builds a simple test suite in one of the early chapters that is amazingly featureful yet incredibly concise. He builds an astonishingly small in-memory database in one of the earlier chapters with pretty advanced features. Two practicals toward the end involve building an HTML generation system and then using macros to optimize the generation.

He includes a brief discussion of efficiency as well, describing how bottleneck functions can be tweaked for maximum efficiency and introduces some of the techinques that can bring Common Lisp applications to C-like efficiency.

I highly recommend this book to anyone looking to learn Common Lisp, or even just someone looking to see what all the hype is about. It provides a great survey of the language, lots of useful practicals, and is pretty handy as a reference as well.

Buy this book!
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category