A fun and lighthearted guide to the Lisp programming language,
filled with working game code and original cartoons.
- An original, fun, and hands-on approach to learning Lisp
- Author is well-known and highly regarded within the Lisp
- Lisp is enjoying a resurgence in popularity
Lisp is a uniquely powerful programming language that, despite its
academic reputation, is actually very practical. Land of Lisp
brings the language into the real world, teaching readers Lisp by
showing them how to write several complete Lisp-based games,
including a text adventure, an evolution simulation, and a robot
battle. While building these games, readers learn the core concepts
of Lisp programming, such as recursion, input/output,
object-oriented programming, and macros. And thanks to Lisp's
powerful syntax, the example code is short and easy to understand.
The book is filled with the author's brilliant Lisp cartoons,
which are sure to appeal to many Lisp fans and, in the tradition of
all No Starch Press titles, make learning more fun.
Ausstattung/Bilder: 2011. XVIII, 482 p. w. cartoons.
Abmessung: 235mm x 179mm x 38mm
Conrad Barski has an M.D. from the University of Miami, and nearly 20 years of programming experience. This includes a stint developing an obscure Atari Jaguar game, and working on many medical software projects. Barski is also an avid cartoonist, having created the popular alien Lisp mascot and many graphical tutorials. He currently develops cardiology software and lives in Washington, D.C.
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 Anatomy of the format Function 12.2 Control Sequences for Printing Lisp Values 12.3 Control Sequences for Formatting Numbers 12.4 Printing Multiple Lines of Output 12.5 Justifying Output 12.6 Iterating Through Lists Using Control Sequences 12.7 A Crazy Formatting Trick for Creating Pretty Tables of Data 12.8 Attack of the Robots! 12.9 What You've Learned Chapter 12: Working with Streams 13.1 Types of Streams 13.2 Working with Files 13.3 Working with Sockets 13.4 String Streams: The Oddball Type 13.5 What You've Learned Chapter 13: Let's Create a Web Server! 14.1 Error Handling in Common Lisp 14.2 Writing a Web Server from Scratch 14.3 Building a Dynamic Website 14.4 What You've Learned Chapter 13.5: Functional Programming Is Beautiful Lisp is Science Chapter 14: Ramping Lisp Up a Notch with Functional Programming 16.1 What Is Functional Programming? 16.2 Anatomy of a Program Written in the Functional Style 16.3 Higher-Order Programming 16.4 Why Functional Programming Is Crazy 16.5 Why Functional Programming Is Fantastic 16.6 What You've Learned Chapter 15: Dice of Doom, a Game Written in the Functional Style 17.1 The Rules of Dice of Doom 17.2 A Sample Game of Dice of Doom 17.3 Implementing Dice of Doom, Version 1 17.4 Creating an Intelligent Computer Opponent 17.5 Making Dice of Doom Faster 17.6 What You've Learned Chapter 16: The Magic of Lisp Macros 18.1 A Simple Lisp Macro 18.2 More Complex Macros 18.3 Macros: Dangers and Alternatives 18.4 What You've Learned Chapter 17: Domain-Specific Languages 19.1 What Is a Domain? 19.2 Writing SVG Files 19.3 Creating Custom Game Commands for Wizard's Adventure Game 19.4 What You've Learned Chapter 18: Lazy Programming 20.1 Adding Lazy Evaluation to Lisp 20.2 Dice of Doom, Version 2 20.3 Making Our AI Work onnnnnn Larger Game Boards 20.4 What You've Learned Chapter 19: Creating a Graphical, Web-Based Version of Dice of Doom 21.1 Drawing the Game Board Using the SVG Format 21.2 Building the Web Server Interface 21.3 Playing Version 3 of Dice of Doom 21.4 What You've Learned Chapter 20: Making Dice of Doom More Fun 22.1 Increasing the Number of Players 22.2 Rolling the Dice 22.3 Improving the Dice of Doom Reinforcement Rules 22.4 Conclusion Epilogue Functional Guild Cruiser Macro Guild Melee Fighters Restart Guild Armored Fighter Generic Setter Guild Supply Ship DSL Guild Hot Rods CLOS Guild Battleship The Continuation Guild Rocket Pods Brevity Guild Micro Fighter Multicore Guild Formation Fighters The Lazy Guild Frigate Updates
Ein Marktplatz-Angebot für "Land of Lisp" für EUR 37,80