Lisp has been hailed as the world's most powerful programming language, but its cryptic syntax and academic reputation can be enough to scare off even experienced programmers. Those dark days are finally overLand of Lisp brings the power of functional programming to the people!
With his brilliantly quirky comics and out-of-this-world games, longtime Lisper Conrad Barski teaches you the mysteries of Common Lisp. You'll start with the basics, like list manipulation, I/O, and recursion, then move on to more complex topics like macros, higher order programming, and domain-specific languages. Then, when your brain overheats, you can kick back with an action-packed comic book interlude!
Along the way you'll create (and play) games like Wizard Adventure, a text adventure with a whiskey-soaked twist, and Grand Theft Wumpus, the most violent version of Hunt the Wumpus the world has ever seen.
You'll learn to:
- Master the quirks of Lisp's syntax and semantics
- Write concise and elegant functional programs
- Use macros, create domain-specific languages, and learn other advanced Lisp techniques
- Create your own web server, and use it to play browser-based games
- Put your Lisp skills to the test by writing brain-melting games like Dice of Doom and Orc Battle
With Land of Lisp, the power of functional programming is yours to wield.
(Computer Bookshops Limited)
Bli först med att
recensera och betygsätt boken Land of Lisp: Learn to Program Lisp, One Game at a Time! -
du kan vinna 200 kr varje månad i tävlingen "Månadens recension".
Dedication; Acknowledgments; Introduction; What Makes Lisp So Cool and Unusual?; If Lisp Is So Great, Why Don't More People Use It?; Where Did Lisp Come From?; Where Does Lisp Get Its Power?; Lisp is Power; Chapter 1: Getting Started with Lisp; 1.1 Lisp Dialects; 1.2 Getting Started with CLISP; 1.3 What You've Learned; Chapter 2: Creating Your First Lisp Program; 2.1 The Guess-My-Number Game; 2.2 Defining Global Variables in Lisp; 2.3 Basic Lisp Etiquette; 2.4 Defining Global Functions in Lisp; 2.5 Defining Local Variables in Lisp; 2.6 Defining Local Functions in Lisp; 2.7 What You've Learned; Chapter 3: Exploring the Syntax of Lisp Code; 3.1 Syntax and Semantics; 3.2 The Building Blocks of Lisp Syntax; 3.3 How Lisp Distinguishes Between Code and Data; 3.4 Lists in Lisp; 3.5 What You've Learned; Lisp is Symmetry; Chapter 4: Making Decisions with Conditions; 4.1 The Symmetry of nil and (); 4.2 The Conditionals: if and Beyond; 4.3 Cool Tricks with Conditions; 4.4 Comparing Stuff: eq, equal, and More; 4.5 What You've Learned; Chapter 5: Building a Text Game Engine; 5.1 The Wizard's Adventure Game; 5.2 Describing the Scenery with an Association List; 5.3 Describing the Location; 5.4 Describing the Paths; 5.5 Describing Objects at a Specific Location; 5.6 Describing It All; 5.7 Walking Around in Our World; 5.8 Picking Up Objects; 5.9 Checking Our Inventory; 5.10 What You've Learned; Chapter 6: Interacting with the World: Reading and Printing in Lisp; 6.1 Printing and Reading Text; 6.2 The Symmetry Between Code and Data in Lisp; 6.3 Adding a Custom Interface to Our Game Engine; 6.4 Trying Out Our Fancy New Game Interface; 6.5 The Dangers of read and eval; 6.6 What You've Learned; Chapter 6.5: lambda: A Function So Important It Deserves Its Own Chapter; 7.1 What lambda Does; 7.2 Why lambda Is So Important; 7.3 What You've Learned; Chapter 7: Going Beyond Basic Lists; 8.1 Exotic Lists; 8.2 Coping with Complicated Data; 8.3 Creating a Graph; 8.4 Creating Undirected Graphs; 8.5 What You've Learned; Chapter 8: This Ain't Your Daddy's Wumpus; 9.1 The Grand Theft Wumpus Game; 9.2 Defining the Edges of Congestion City; 9.3 Building the Nodes for Congestion City; 9.4 Initializing a New Game of Grand Theft Wumpus; 9.5 Drawing a Map of Our City; 9.6 Let's Hunt Some Wumpus!; 9.7 What You've Learned; Chapter 9: Advanced Datatypes and Generic Programming; 10.1 Arrays; 10.2 Hash Tables; 10.3 Common Lisp Structures; 10.4 Handling Data in a Generic Way; 10.5 The Orc Battle Game; 10.6 What You've Learned; Lisp is Hacking; Chapter 10: Looping with the loop Command; 11.1 The loop Macro; 11.2 Using loop to Evolve!; 11.3 What You've Learned; Chapter 11: Printing Text with the format Function; 12.1 ...
(Computer Bookshops Limited)