Lisp for the Web
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.
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
-
MongoDB as a backend
-
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.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $13 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