Acknowledgments
Introduction
SECTION I: LISP IS POWER
Chapter 1: Getting Started with Lisp
Chapter 2: Creating Your First Lisp Program
Chapter 3: Exploring the Syntax of Lisp Code
SECTION II: LISP IS SYMMETRY
Chapter 4: Making Decisions with Conditions
Chapter 5: Building a Text Game Engine
Chapter 6: Interacting with the World: Reading and Printing in Lisp
Chapter 6.5: lambda: A Function So Important It Deserves Its Own Chapter
Chapter 7: Going Beyond Basic Lists
Chapter 8: This Ain’t Your Daddy’s Wumpus
Chapter 9: Advanced Datatypes and Generic Programming
SECTION III: LISP IS HACKING
Chapter 10: Looping with the loop Command
Chapter 11: Printing Text with the format Function
Chapter 12: Working with Streams
Chapter 13: Let’s Create a Web Server!
Functional Programming Is Beautiful
SECTION IV: LISP IS SCIENCE
Chapter 14: Ramping Lisp Up a Notch with Functional Programming
Chapter 15: Dice of Doom, a Game Written in the Functional Style
Chapter 16: The Magic of Lisp Macros
Chapter 17: Domain-Specific Languages
Chapter 18: Lazy Programming
Chapter 19: Creating a Graphical, Web-Based Version of Dice of Doom
Chapter 20: Making Dice of Doom More Fun
Epilogue
Index