Common LISP: A Gentle Introduction to Symbolic Computation (…

Original price was: $34.95.Current price is: $30.46.

Extra Features
  • Premium Quality
  • Secure Payments
  • Satisfaction Guarantee
  • Worldwide Shipping
  • Money Back Guarantee


Price: $34.95 - $30.46
(as of Dec 11, 2025 04:04:23 UTC – Details)

Common LISP: A Gentle Introduction to Symbolic Computation

LISP, which stands for LISt Processing, is a family of programming languages that has been a cornerstone of artificial intelligence, computer science, and symbolic computation for decades. Among its various dialects, Common LISP has emerged as a versatile and widely-used language, particularly suited for tasks that require complex data manipulation, dynamic typing, and functional programming. This article aims to provide a gentle introduction to Common LISP, highlighting its unique features, applications, and the principles behind its design.

Introduction to LISP

LISP was first conceived in the late 1950s by John McCarthy, a pioneer in the field of artificial intelligence. The first LISP program was written in 1958, and since then, the language has evolved significantly, branching into several dialects such as Scheme, Clojure, and Common LISP. The name “LISP” is derived from “LISt Processing,” reflecting its original focus on manipulating lists as a primary data structure.

Unique Features of Common LISP

Common LISP, often abbreviated as CL, is distinguished by several unique features that contribute to its power and flexibility:

  1. Macros: Common LISP’s macro system allows developers to extend the language itself. Macros are essentially functions that generate code at compile-time, enabling the creation of domain-specific languages (DSLs) within LISP.

  2. Dynamic Typing: Unlike statically-typed languages, Common LISP is dynamically typed, meaning that the data type of a variable is determined at runtime, not at compile time. This allows for greater flexibility in programming, though it also requires careful consideration of types during development.

  3. Functional Programming: Common LISP supports functional programming paradigms, which emphasize the use of pure functions, immutability, and the avoidance of changing state. This approach can lead to more predictable, composable, and reusable code.

  4. Garbage Collection: Common LISP implementations include automatic memory management through garbage collection, freeing developers from the burden of manual memory allocation and deallocation.

Applications of Common LISP

Despite the rise of other programming languages, Common LISP continues to find applications in various domains due to its expressive power and the advantages it offers in certain types of programming tasks:

  1. Artificial Intelligence and Machine Learning: Historically, LISP has been a preferred language for AI research and development. Its ability to manipulate symbolic expressions and its support for functional programming make it well-suited for tasks in artificial intelligence and machine learning.

  2. Computer Science Research: Common LISP’s versatility and its macro system, which allows for the extension of the language, make it an attractive choice for researching new programming language concepts and paradigms.

  3. Financial and Analytical Applications: The language’s capability for complex data manipulation and its dynamic nature have led to its use in financial modeling, data analysis, and other applications requiring sophisticated numerical computations.

  4. Education: Common LISP is sometimes taught in introductory programming courses due to its simplicity, flexibility, and the ease with which fundamental programming concepts can be illustrated.

Getting Started with Common LISP

For those interested in exploring Common LISP, several implementations are available, including Steel Bank Common Lisp (SBCL), Clozure CL, and Allegro Common Lisp. Each implementation offers its own set of tools and libraries, and some provide integrated development environments (IDEs) that can facilitate learning and development.

Conclusion

Common LISP represents a unique intersection of theoretical computer science and practical programming, offering a rich set of features and capabilities that make it an attractive choice for symbolic computation, artificial intelligence, and other complex programming tasks. While the programming landscape is continually evolving, Common LISP’s flexibility, expressiveness, and the community’s ongoing efforts to adapt and apply it to new challenges ensure its relevance and utility in the modern computing environment. Whether you are a seasoned programmer looking to expand your skill set or a newcomer to the world of programming, Common LISP is certainly worth exploring for its depth, elegance, and the insight it provides into the fundamentals of computation.

Customers say

Customers find this book to be the best introduction to Lisp, with clear explanations of data structures and exercises to confirm understanding. Moreover, the book serves as a good introduction to the language, and one customer notes it’s invaluable for self-study. However, the code examples aspect receives mixed feedback, with several customers mentioning the lack of code examples.

13 reviews for Common LISP: A Gentle Introduction to Symbolic Computation (…

  1. Professor dot biz

    Mislabeled Lisp, One of the Best Programming Books Ever, in ANY language.
    Reviewers who mention this as an “old” title might be missing the more recent fact that Dover has republished this classic with comments (and web resources) as recent as 2006 and later. This huge 500 page introduction (including for raw beginners) to programming, though exampled in LISP, covers the entire field of programming from data structures to algorithms, garbage collection, paradigms, and even circuits/ memory/ stacks/ registers and much more.Any bright High School student could pick this up and get a better foundation in programming than dozens of the “top” intro to programming books I’ve reviewed that go for $150 plus! Chapter 8, on recursion, though giving LISP examples, is perhaps the best explanation of this key technique ever given anywhere outside of Godel Escher Bach!The author is a true teacher in every sense of the word. He tells you what you’re about to learn, teaches it, examples it, looks at it from numerous angles including graphics, code, math and analogy, then gives dozens of (solved!) exercises to confirm your understanding. The appendices are golden with rare glossaries, advanced topics and wonder of wonder, ANSWERS to the exercises! If you teach intro to programming (regardless of your favorite language), this is a must have for your instructional design, and if you’re into self study, save yourself a ton of money and heartache with other texts and check this one out first.Functional is coming back in a big way, and common lisp is far from dead even though it was one of first ever along with its big brother Fortran way back when. I learned it in that era, and a book like this would have been astonishing. Highly recommended and thank you Dover for the bright new edition.

  2. TabsTheTyrant

    Amazing introduction to Lisp
    “A Gentle introduction to Symbolic Computing” as the name states is a great introduction to Lisp. It starts at the beginning with introducing the reader to the basic concepts of Lisp. Rather then the basic functions it starts with what a function is and how it behaves, the book moves into what a linked list is how it works and how to manipulate it (cons, car, cdr).While many would rather jump in feet first and write a basic hello world program I personally prefer to understand the basics of what I’m doing and why it works. This book is excellent in that regard. My one problem with this book is that its out of print so you have to find a used copy. The alternative being that the Author/Publishers provide this book for free online, use Google.

  3. music man

    A Good Introduction to LISP
    I’ll begin this review by stating that I have not finished reading Touretzky’s book and, in addition, I am using this text mainly as a review of LISP. I was a LISP programmer for many years but have not done any LISP coding since 1996. Before 1996, I used the LISP programs which were available on the DEC, TI, and MAC machines. Since then, however, LISP has matured into Common LISP; hence, my reason for purchasing Touretzky’s book.This text provides a solid introduction to LISP’s internal structure and use as a programming language. Common LISP is different enough, when compared to the LISP dialects which I used years ago, to alone warrant purchasing Touretzky’s book. However, after reading much of this text, it’s also nice to know that Common LISP essentially remains the wonderful programming language which I remember using many years ago. Recommended!

  4. Reader

    A masterpiece!
    This book is phenomenal: It takes the reader all the way from square one (literally: pencil-and-paper exercises) to solid, intermediate Lisp competence (writing macros, etc.). And it does so painlessly, almost imperceptibly, and with supreme clarity. Touretzky teaches a classic, straightforward Lisp programming style; solutions to all exercises are found at the back of the book, thus making it invaluable for self-study. It’s also a wonderful language reference. If you want to learn Lisp, and the basics of functional programming, then begin here. Given the renewed interest in Lisp, this book most definitely should be “brought back”.

  5. john johnson

    THE Intro to Common Lisp
    This book is the best intro to Common Lisp. The best intro to any Lisp. This is the starting point. Other books are too hard for a beginner. This book is truly a gentle introduction. After this book I recommend Practical Common Lisp and Land of Lisp. ANSI Common Lisp by Paul Graham is good but expensive. An excellent book about OOP is Object-Oriented Programming in COMMON LISP: A Programmer’s Guide to CLOS.

  6. kk467

    This may be the best introduction to any Lisp.
    The author spends the first part of the book using box diagrams to illustrate how things work before code even appears. First, you SEE how things work, and then code follows that.The book may be the best introduction to Computer Science, regardless of programming language.

  7. Ethan

    Three Stars
    Ok, worth buying if you want to learn LISP.

  8. Ren A.

    Very easy. Great for beginners to lisp
    Easy to get into, but not all that different from the free version up on the author’s website.

  9. Angelo Rossi

    Una guida ben curata sulla programmazione funzionale e sul linguaggio di programmazione Common LISP. Un libro da considerarsi per neofiti e come riferimento per programmatori più esperti ma non ancora padroni della materia. Consigliato a chi vuole imparare le basi della programmazione attraverso il Common LISP.

  10. Valentin Petrov

    Nice book, very good and clear explanations with good excersises. Thank you.

  11. André Ferreira

    The book explains in a very didactic way the concepts of symbolic programming. The book doesn’t have a section about CLOS (Common Lisp Object System), but it is the only letdown. It is a great book!

  12. Tomahawk

    コンピュータのプログラミング言語は今も多く開発されていますが、今も現役バリバリ?の言語としてLispがあることは知っていたが、手をつけていませんでした。今回は英語原本から始めたので、進捗は英語の辞書を側においてPCで確認しながらやってます。Lispは「SteelBank Common Lisp」ですが、ふふん、こんな風に動くのかと確認しながらです。List Processor のプログラミングの絵入り解説で分かり易いと思います。暫くハマってしまいそうです。

  13. Ritchie

    Ich programmiere seit knapp 20 Jahren in diversen Sprachen (das meiste mit C Syntax, aber auch Haskell und F#). Vor einer Weile habe ich mir dann vorgenommen Lisp zu lernen und bin dabei über dieses Buch gestolpert. Zum Glück! Denn am Anfang ist Lisp schon ein Kulturschock, wenn man z.B. jahrelang C++ programmiert hat. Aber dieses Buch hier ist eine wirklich gute und gründliche Einführung in Common Lisp. Das Buch nimmt den Leser immer gut mit, erklärt in Text und auch Grafiken detailliert wie Lisp funktioniert und somit bleibt man auch als Einsteiger nie verwirrt zurück. Beim Lesen baut man wirklich ein solides Verständnis auf und das fühlt sich sehr befriedigend an, wenn man merkt, dass man weiß, was man tut ;-)Der Autor beschränkt sich aber nicht nur auf die Grundlagen, sondern behandelt auch fortgeschrittene Themen wie Datenstrukturen, Algorithmen, Rekursion, funktionale Programmierung, IO sowie Makros. Einzig CLOS (das OO-System von Lisp) wird hier nicht erwähnt, aber das ist nicht essentiell für den Einstieg in Lisp und man kann es bei Bedarf nachholen (zum Beispiel in Practical Common Lisp).Wenn man es genau nimmt, erhält selbst der absolute Programmieranfänger eine solide Einführung in diverse Programmiertechniken – nur eben anhand von Common Lisp anstatt einer der gängigen Mainstream-Sprachen.Vielleicht noch ein Wort zu Common Lisp an sich und warum es sich lohnt, die Sprache zu lernen, auch wenn man sie vielleicht selten/nie einsetzen wird. Aus meiner Sicht zählt Lisp zu den Sprachen, die das Denken eines Programmierers verändern bzw. den Horizont erweitern. Einerseits liegt das daran, dass Lisp keine Blackbox ist wie die meisten anderen Sprachen, sondern ein offenes und transparentes System – man hat einen sehr tiefen Einblick und versteht wie alles im Inneren zusammenspielt.Andererseits liegt es sicher daran, dass Lisp mächtige Features hat, v.a. die Makros, die aus Lisp im Endeffekt eine “programmierbare Programmiersprache” machen. Letzteres sollte jeden leidenschaftlichen Coder hellhörig machen.. denn wie oft sitzt man vor einem Problem und stellt fest, dass die aktuell genutzte Sprache etwas nicht unterstützt (“Wenn C# doch nur mehrfache Vererbung hätte…” etc.). In Lisp ist die Wahrscheinlichkeit hoch, dass man ein fehlendes Feature ergänzen kann und es dann kein Fremdkörper ist, sondern sich nahtlos in die bestehende Syntax einfügt – als ob es schon immer da gewesen wäre :-)Also, wer Spaß am Programmieren hat und eine der einflussreichsten Sprachen überhaupt lernen möchte, der sollte das mit diesem Buch tun. Denn inzwischen habe ich noch viele andere Bücher und PDFs zu Lisp gelesen, aber für den Einstieg gibt’s meiner Meinung nach kein besseres als dieses Buch! Happy coding!

Add a review

Your email address will not be published. Required fields are marked *