Lisp for the Web
With Membership
Suggested price

Lisp for the Web

About the Book

When it comes to expressiveness and consistency, Lisp still holds an edge over the mainstream languages of today. Add the open-source ecosystem of Common Lisp, free high-quality environments, their optimizing compilers and we land at a technology well-suited for the productive programmer looking for a new power tool.

The goal of this book is to identify the strengths of Lisp and what they can do for us. The book puts Lisp to work developing a web application. Starting from scratch, we'll develop a three-tier web application. I'll show how to:

  • utilize powerful open source libraries for expressing dynamic HTML5 and JavaScript in Lisp,
  • develop a small, embedded domain-specific language tailored for my application,
  • extend the typical development cycle by modifying code in a running system and execute code during compilation,
  • migrate from data structures in memory to persistent objects using a third party NoSQL database (MongoDB), and
  • finally show how we can execute a MapReduce algorithm on a remote database server without even leaving our Lisp environment.

I'll do this in a live system transparent to the users of the application. The idea is to convey a feeling of how it is to develop in Lisp rather than focusing on the details. In the process we'll find out how a 50 years old language can be so well-suited for modern web development and yes, it's related to all those parentheses. Now, download the book, get the source code and let's make programming just as fun as it always should be.

About the Author

Adam Tornhill
Adam Tornhill

Adam Tornhill is a programmer that combines degrees in engineering and psychology. He’s the founder of Empear AB where he designs tools for software analysis. He's also the author of Your Code as a Crime Scene, has written the popular Lisp for the Web tutorial and self-published a book on Patterns in C. His other interests include modern history, music and martial arts.

Table of Contents

  • Introduction
    • What’s new?
    • Source code to Lisp for the Web
    • Preparations
      • Get a Lisp
      • Installing libraries with Quicklisp
    • About Adam and Adam
    • About Adam Tornhill
    • Credits
  • Lisp for the Web
    • What to expect
    • The Lisp story
    • Crash course in Lisp
    • The Brothers are History
      • Representing Games
      • A prototypic backend
      • Customizing the printed representation of CLOS objects
  • Entering the Web
    • Generating HTML dynamically
    • Macros: Fighting the evils of code duplication
    • More than an opera
      • Meet the Hunchentoot web-server
      • Publishing content
    • Putting it together
    • Adding Games: forms and client input
  • Expressing JavaScript in Lisp
    • Lisp for the web browser
    • Generating JavaScript
    • On event handlers
      • Extending our DSL for custom scripts
      • Towards robustness
    • The Lisp advantage
  • Persistent Objects
    • MongoDB as a backend
      • From Lisp to Mongo and back again
      • Migrating to persistence
      • Avoid Duplicates with Constraints
    • CLOS: Observers for free
    • Sorting games through MongoDB
    • Remembering the Games
  • MapReduce in Lisp
    • Pushing work to the server-side
    • The MapReduce algorithm in MongoDB
      • Specifying the steps with Parenscript
      • Executing MapReduce from the REPL
    • A natural extension: presenting charts by category
  • Endgame
    • Final considerations
    • On backends
      • SQL
      • NoSQL alternatives
      • Persistent objects protocols
    • Moving on
      • Book recommendations
      • Code reading

The Leanpub 60-day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub