I gave up try­ing to fig­ure out how to use con­tin­u­a­tions for web pro­gram­ming.

Rack­et looks amaz­ing. You want to do web de­vel­op­ment in it. But the of­fi­cial dis­cus­sions steer quick­ly into con­tin­u­a­tions. And you hit a wall. Sure, you’re will­ing to learn some new things to get into Rack­et, but come on. Con­tin­u­a­tions are weird.

Even if you do see the point of con­tin­u­a­tions, in the ab­stract, you’re not clear on how use­ful they’d be for web pro­gram­ming in par­tic­u­lar.

You’ve giv­en up try­ing to make sense of them. You gave it your best, but you just don’t get it.

It doesn’t have to be like this.

Con­tin­u­a­tions seem to re­quire a new mind­set. But how to ac­quire it? The tu­to­ri­als don’t give you that. You’ve nev­er seen any­thing like that be­fore. The docs don’t ex­plain how to think about this stuff. They just throw you into the deep wa­ter.

You’ve pret­ty much aban­doned the idea of con­tin­u­a­tions for web de­v­el. You’re about to chuck out Rack­et as some­thing that would have been cool. Paul Gra­ham said that Lisp was his se­cret weapon for web de­v­el, but if this is what he’s talk­ing about, well, that’s just nuts.

Get into the con­tin­u­a­tion state of mind

What if you could de­ter­mine your ap­pli­ca­tion state au­to­mat­i­cal­ly? Re­quest comes in and you know just where you are in that big state ma­chine of yours.

Where­as most web de­vel­op­ers bring knives (or maybe just spoons, tooth­picks, and a dol­lop of good in­ten­tions) to the HTTP ap­pli­ca­tion state man­age­ment brawl, you don’t need any weapons at all. Like Neo in The Ma­trix, you see con­tin­u­a­tions every­where. There’s no need to suss things out us­ing cook­ies, ad hoc query pa­ra­me­ters, and mul­ti­ple data­bas­es. You skip that fight en­tire­ly and pro­ceed di­rect­ly to GO.

You send/sus­pend/dis­patch with elan.

REST and that elu­sive HA­TEOAS come for free. Not only can you see the past, con­tin­u­a­tions let you kin­da-sor­ta see into the fu­ture, too.

Even if you don’t end up us­ing con­tin­u­a­tions in your web work, they’ll change the way you look at the web and think about HTTP. For the bet­ter.

About the book

A Short In­tro­duc­tion to Web Pro­gram­ming with Con­tin­u­a­tions in Rack­et is a guide to us­ing con­tin­u­a­tions for the web with the Rack­et HTTP serv­er and its lan­guage for state­less HTTP serv­er pro­gram­ming.

You’ll un­der­stand what con­tin­u­a­tions are all about and how they make REST and al­lied con­cepts like HA­TEOAS au­to­mat­ic.

Here’s what you’ll pick up and mas­ter:

Pre­order your copy

This book is cur­rent­ly be­ing de­vel­oped and is avail­able for pre-sale:

Pre­order