Edit product


Server: Racket—Practical Web Development with the Racket HTTP Server

“If Lisp is so great, why isn't it 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? Check.

High-quality, thorough documentation? Check and check.

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

Enter Server: Racket

Server: Racket is an ebook all about real-world web development with Racket. 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.

Part 1: HTTP à la Racket

Working with HTTP requests and responses entirely within Racket: no external systems, and using only modules that come standard with Racket.

  • The servlet: In the beginning there was request?response?
  • Routes: URL-based dispatching
  • Error handling
  • Logging
  • Working with JSON data
  • HTML templates
  • Processing HTML forms
  • Handling AJAX requests
  • Cookies
  • Testing

Part 2: Connecting with external systems

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.

  • Using a relational database (db, sql)
  • Session management (redis)
  • Environment variables (dotenv)
  • JSON Schema validation (argo)
  • Models (object-relational mapping) (racquel)
  • Sending HTTP requests (http)
  • Caching with memcached (memcached)
  • Database migrations with Phinx
  • Racket and Docker
  • A CRUD-style HTTP API
  • Deploying a Racket site behind a proxy server

What's included

The ebook is a 184-page PDF, together with Racket starter code to help jump-start your Racket web adventures.

What others are saying

Server: Racket was essential reading as I built my first e-commerce site from scratch with Racket. It’s a terrific, practical book with lots of useful ideas and examples.

— Matthew Butterick, creator of Pollen and author of Beautiful Racket, Practical Typography, and Typography for Lawyers, talking about his Racket-powered site mbtype.com.

About the author

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 made the Argo  (JSON Schema validator), json-pointer (a notation for referring to JSON data), and uri-template (RFC 6570) Racket packages. 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.

You've purchased this product

See it in your library

View in Library
Sorry, this item is not available in your location.
Sold out, please go back and pick another option.

0 ratings

  • You'll get: A 184-page PDF and sample code


Server: Racket—Practical Web Development with the Racket HTTP Server

Enter your info to complete your purchase


···· ···· ···· 4242
Test card



Use a different card?


pp paypal

or pay with

We do not keep any of your sensitive credit card information on file with us unless you ask us to after this purchase is complete.

or pay with

You'll be charged US$29.

Your purchase was successful!

We charged your card and sent you a receipt

    Gumroad Library

    Download from the App Store or text yourself a link to the app

    Thanks for your support. Let's hack the web together with Racket!

    Good news! Since you already have a Gumroad account, it's also been added to your library.

    Powered by Gumroad