Land of Lisp: Learn to Program in Lisp, One Game at a Time! [NOOK Book]

Overview

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

See more details below
Land of Lisp: Learn to Program in Lisp, One Game at a Time!

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK 7.0
  • Samsung Galaxy Tab 4 NOOK 10.1
  • NOOK HD Tablet
  • NOOK HD+ Tablet
  • NOOK eReaders
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac
  • NOOK for Web

Want a NOOK? Explore Now

NOOK Book (eBook)
$22.99
BN.com price
(Save 42%)$39.95 List Price

Overview

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.

Read More Show Less

Product Details

  • ISBN-13: 9781593273491
  • Publisher: No Starch Press San Francisco, CA
  • Publication date: 10/15/2010
  • Sold by: Barnes & Noble
  • Format: eBook
  • Sales rank: 1,137,658
  • File size: 26 MB
  • Note: This product may take a few minutes to download.

Meet the Author

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.

Read More Show Less

Table of Contents

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 on 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;

Read More Show Less

Customer Reviews

Average Rating 4.5
( 21 )
Rating Distribution

5 Star

(15)

4 Star

(3)

3 Star

(0)

2 Star

(1)

1 Star

(2)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 20 Customer Reviews
  • Anonymous

    Posted May 25, 2014

    To demobloo

    Course. NOT! LEAGE YOU FUC?KIN GODMODDER!

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted May 22, 2014

    Dude.

    No explosions or Minecraft, please.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted May 28, 2014

    To below

    I was kidding i am talking to the leaders about you. I hope they banish you. No wait strike that: I hope they banish you into the hunting grounds and let me hunt you down. You B. I. T. C. H. Go burn in hell. ~Demonblood

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted May 13, 2014

    Medicene den

    The shelflike walls already store heebs, all fresh and organised. There was a collection of spiderebs in corners for easy convience. A small pond was in the back near where patients would be. There was also a small den for the medicene cat and their apprentise.<p>
    Myntlight

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted December 12, 2013

    Blackfeather and kits

    Blackfeather curled up around her four kits...and slept. Magickit slowly waggled out from her mother cozy cuddle and managed to get out. She jumped around...mischeiv in her eyes

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted December 2, 2013

    Oliveleaf

    Ok look. So the reson i need a mate... is because this is going to crazy but i am expecting kits and i dont have a father. It wont show for a little bit so we will be ok

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted November 28, 2013

    CoalBlaze

    I'd like to be Deputy. I have been apart of TwilightClan for awhile now, and I really enjoy living here. I'd take patrols out daily, and keep the Fresh-Kill Pile stocked. I've never betrayed this clan in any way and I'll protect it with my life. I'm very friendly to all, and protective of my clanmates. I'm loyal; I'd never leave TwilightClan in a bad place. I'm brave and I don't godmod; if BloodClan attacks, I fight. I will not hold a grudge if you do not choose me, I'll simply go along with my life. Please consider my application.

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted November 28, 2013

    Mistyshade

    Are you okay Nitestar?

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted November 27, 2013

    Royalkit

    Pouted. "Leave alone please."

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted December 3, 2013

    Firehear

    Kk

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted December 14, 2013

    Staflower

    Tucks her kits between to layers of moss for warmth and put the three into a nest with high edges so the couldnt crawl out nd paded out into the main camp for a second

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted November 24, 2013

    Rivensoul

    He picks up Stonekit's body and carries him to the 23rd result.

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted November 27, 2013

    Flameclaw

    Where is owlfeather

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted December 1, 2013

    To all

    I already chose sonicspeed

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted November 27, 2013

    Fallkit

    13 res.))

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted November 19, 2013

    Echokit

    Yawned.

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted November 19, 2013

    Lionsroar

    Pads in and places the new kits at obsidianflames belly and leaves to go hunting

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted November 18, 2013

    __________ =^¿.¿^=__________

    Meow.

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted November 17, 2013

    - TwilightClan -

    Nursery.

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted May 19, 2013

    Quirky Book on Great Programming Languages

    This isn't the easiest intro to Lisp, but it does a great job of how programming in Lisp is on a whole different plane than programming other languages. All of that and great illustrations (but hard to read small illustrations on Nook).

    Was this review helpful? Yes  No   Report this review
Sort by: Showing all of 20 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)