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:
- 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
- What’s new?
- Source code to Lisp for the Web
- Get a Lisp
- Installing libraries with Quicklisp
- About Adam and Adam
- About Adam Tornhill
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
- Lisp for the web browser
On event handlers
- Extending our DSL for custom scripts
- Towards robustness
- The Lisp advantage
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
- Final considerations
- NoSQL alternatives
- Persistent objects protocols
- 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