2012/1/31 Ian Price <ianpric...@googlemail.com>: > [...] > > A whole bunch of ideas were discussed on IRC a while back[1], and > serialisation was one of the issues I was most concerned about. As it > stands, when the program stops you lose all your existing continuations, > which may be undesirable. > > Another important issue was brought up by Antono, which is that > continuation URLs effectively form a gc root, and you can't safely get > rid of continuations without possibly breaking some url. And even though > it you can just say "well, tough", you at least need some strategy for > periodically pruning your set of continuations.
There are various solutions to this problem, such as associating a time-to-live with each entry in the continuation table (like the typical handling of session objects in traditional web programming), or make use of a weak hashtable. > I'd like to see you, or I, or someone, do something like this for guile, > but I think the first step is to look at existing continuation based > frameworks and see how they handle some of these issues. Yes, could be fruitful to study other systems like the Racket web server and Seaside. But I think that at this point it would just be nice with something working and hackable, but maybe not a super-scalable production framework. -Tobias