OUR STORE IS CLOSED ON ANZAC DAY: THURSDAY 25 APRIL

Close Notification

Your cart does not contain any items

Land Of Lisp

Conrad Barski

$100

Paperback

Not in-store but you can order this
How long will it take?

QTY:

English
No Starch Press,US
15 October 2010
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 over-Land 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.

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 over-Land 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.

By:  
Imprint:   No Starch Press,US
Country of Publication:   United States
Dimensions:   Height: 234mm,  Width: 178mm,  Spine: 31mm
Weight:   976g
ISBN:   9781593272814
ISBN 10:   1593272812
Pages:   504
Publication Date:  
Audience:   Professional and scholarly ,  Undergraduate
Format:   Paperback
Publisher's Status:   Active
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;

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.

Reviews for Land Of Lisp

"""Turns out the border between genius and insanity is a pretty cheery place."" —Paul Graham ""An excellent book for someone who wants to learn how to program."" —Slashdot ""If for no other reason, you should buy Land of Lisp because of the extreme levels of unadulterated nerdery filling its pages. This book will appeal to the long-time Lisper and the neophyte."" —Michael Fogus, author of The Joy of Clojure and Functional JavaScript ""By choosing to teach Common Lisp using 1980s style text games the author has come up with an original and clever idea that avoids all the usual boring examples found in computer language books."" —John Graham-Cumming, author of The Geek Atlas ""To be honest, I just bought the book for enjoyment but I find myself getting a new perspective and learning more about Common Lisp. Recommended!"" —Mark Watson, author of Scripting Intelligence"


See Also