Why isn’t Lisp more widely used in web development?
You’d love to make a site in Racket, the hottest Lisp out there. The Racket developers have built up a truly impressive system that’s a real pleasure to use.
All the ingredients appear to be there:
Built in web-server?
High-quality, thorough documentation?
A Lisp that feels like it comes from the future? Oh yeah.
But there’s precious little guidance out there on how to make real-world web sites with the Racket web server.
Sure, the official documentation contains a handful of simple examples. They’re a good start. But you’re not sure how to move from them to making a more complex site. There’s a big gap.
Maybe you start to suspect that Racket’s HTTP server is just a fancy toy.
Maybe you’ve even given up on the idea of hacking the web in Lisp.
That would be a real shame, because the Racket web server—while fairly lean compared with other web frameworks out there—is a powerful and flexible.
And when you combine Racket’s HTTP server with the cutting-edge features of Racket, we’re talking about a system that web developers can drool over.
Even if you’re new to the web, Racket’s direct approach gives you a delightful way to dip your toes in without getting bogged down in a bazillion different frameworks and dependencies.
Server: Racket is an ebook all about real-world web development with the Racket HTTP server. In this ebook, you will learn how to make real-world web sites using the built-in Racket HTTP server.
We will build up a full-fledged site, step-by-step, and find out how to solve problems that the official documentation doesn’t talk about (not in detail, anyway, and not in any full-length tutorial).
We’ll dig in to these web development topics and see how to deal with them in Racket.
Working with HTTP requests and responses entirely within Racket: no external systems, and using only modules that come standard with Racket.
Where we begin to connect to specialized systems running outside of Racket and use specialized packages that aren’t included in a standard Racket installation.
The ebook is in PDF (US Letter [146 pages] or A4 [137 pages] paper sizes) as well as HTML format, with Racket starter code—fully functioning mini-sites—illustrating how these topics can be tackled with Racket.
Chapter 2, on URL-based dispatching (routes), can be viewed here.
Use the button below to get the ebook:
I’m Jesse Alama. I’ve been hacking Scheme and Lisp since 1996. And I love building web sites. I’m a full-stack developer by day. (And by night, too.) I write about these topics over at
lisp.sh. I’ve written the Argo package (JSON Schema validator for Racket). I’m the author of the entry on the lambda calculus in the Stanford Encyclopedia of Philosophy and have worked as a researcher in mathematics and computer science, primarily in automated theorem proving.
In my view, Lisp has a lot of potential for shaping how we develop for the web. The flexibility and power of Lisp is well-suited to taking on the web’s thorny problems.
I’m happy to share with you what I’ve learned so far about making web sites using Racket, a truly world-class Lisp.