Using continuations in Web applications is patented

I just read this post from Paul Graham's new blog. It turns out he has a patent for using continuations to make page transitions look like function calls. The patent number is 6,205,469. Makes me a little sad.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

The patent seems to require CPS

From reading the patent, it looks like the idea is similar to continuation based web servers, but requires manually CPSing the code. It doesn't mention call/cc or any other continuation operators.

The patent seems to require

The patent seems to require CPS

No surprise since Paul Graham has "made a career out of faking continuations in Lisp." Surely everybody in the world knows this after repeatedly watching the Dynamic Languages Wizards panel discussion that he was in.

NB: See On Lisp to for his personal style of syntactic sugar for CPS.


Probably showing my lack of knowledge, but what exactly does NB stand for? Are APL and its descendants the only languages that used this as a comment delimiter?


NB is an abbreviation for "nota bene", meaning "note well"... I'd assume that's its etymology as a comment delimiter as well...


now it's just 6,205,469 to overview before touching any open-source code! perhaps the patent systems could get a hint from something like WS-Discovery?...

1998 work on web page continuations

At the end of 1998, I published some web pages on the topic of applying the idea of continuations to web site design and implementation. The term I coined to refer to some abstract concept involved was "hypoknot', and this terms is sufficiently novel that you can search in some internet web archive time machines and expect to hit nothing else besides what I wrote, probably.

This stuff might or might not invalidate the patent. But it will certainly undermine any claims about the use of continuations with web site architecture, especially if the idea is the use URLs embedded as pages as a way of serializing the representation of continuations.

Here's an excerpt from one of the pages I wrote in November 1998 (in a page titled "IronDoc Hypoknot Page" or something like that). I can post more stuff if folks end up being interested.

(quote)continuation · The hypoknot idea is also similar to the notion of a continuation in systems that are able to represent the resumable flow of control in an execution thread as a first class object. In this sense a hypoknot is an explicit representation of delayed computation, when dereferencing a hypoknot has the effect of completing additional steps of some incremental computation. Presumably the result of many such incremental computations can include new hypoknots that represent the ability to conduct still more steps in the computation. Note this model corresponds extremely well with commonplace design patterns used with http-based hypertext system on the web, which tend to return web pages with embedded links that permit navigation to alternative computational continuations.


ViaWeb was started around 1995 and was sold to Yahoo in 1998. So his work would pre-date yours.

yes, his work pre-dates

But does the patent application pre-date? I just made an assumption that a date I saw was a filing date. (Was it the grant date or filing date?)

I wouldn't characterize what I wrote as work; just analytical blather.

Filing date

The filing date is listed underneath the abstract: May 27, 1997.