[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Age of Continuations?

On Mon, 7 Apr 2003, Francois-Rene Rideau wrote:

> Now for the real question: are there any systems that have formalized
> this ability to draw many different lines around the state to be saved
> by call/cc ?

I do this in a limited way in my Seaside web framework.  Any object can be
sent the message #registerForBacktracking.  Any continuations that are
captured for the purpose of resuming the web session later, also snapshot
the (shallow) state of these registered objects.  Invoking the
continuation restores the state from the snapshots.  All of these objects
live inside a particular session, which is mutexed so that an object
can't have two states simultaneously.

As a rule of thumb, UI objects get registered for backtracking and domain
objects don't, but having this precise level of control is very useful
when trying to build back-button friendly web apps.