Share this project


Share this project

Photo original
Help me complete a book about magic disguised as a book about mathematics disguised as a book about programming for the web.
162 backers pledged $13,099 to help bring this project to life.

Which would you post first?

Dear MDP Backers,

To stay on track with the book schedule i'm going to be posting blog entries about salient points in the book. There are two blog entries that i plan to get out in the next couple of weeks.

One is about taking the design pattern exhibited using delimited continuations to create a "stream" of requests -- whether RabbitMQ or HTTP requests -- and showing how to build a Servlet Filter using this approach.

The other is about modifying this pattern -- which we already illustrated in the RabbitMQ, monadically post -- to support a certain kinds of session state. Specifically, we can imagine a request-response protocol that mimics s-expressions. A session in this protocol corresponds to a valid s-expression with request corresponding to "(" and response corresponding to ")". Unlike HTTP, we could then have certain kinds of session state, for example,

open session
acquire resource 1
request resource 1 data
get resource 1 data
acquire resource 2
request resource 2 data
get resource 2 data
release resource 2
update resource 1 data
resource 1 data updated
release resource 1
close session

which has a session "contour" like ( ( () ( () ) () ) )

i think a protocol like this would clean up a lot of the mess in HTTP -- while maintaining it's essential simplicity. i'm just sayin'.

Of these two entries, which one would you like to see first?

Best wishes,



    1. Creator Eric J. Christeson on January 18, 2011

      I vote for #2 as the first one.

    2. Creator Steve Pierce on January 17, 2011

      I'm inclined towards #2 myself, too. But, like everyone else, am interested in the lot.

    3. Creator Thomas Lockney on January 17, 2011

      Personally, I'm a bit more interested in the second proposal. But both sound great. Looking forward to hearing more!

    4. Creator Christoph Drießen on January 17, 2011

      Hi Greg,
      first, it's great to see that the funding was successful! Congratulations to that. I've watched your excellent lectures on channel9 and so I'm really looking forward to what's going to come next.

      Please start with the first topic, the "request stream".