From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tobias Gerdin Newsgroups: gmane.lisp.guile.user Subject: Fwd: The Web, Continuations, and All That Date: Mon, 6 Feb 2012 20:40:38 +0100 Message-ID: References: <877h0jea8d.fsf@Kagami.home> <4F1FC437.8020801@antono.info> <87y5swcbt9.fsf@Kagami.home> <87mx94xmun.fsf@Kagami.home> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: dough.gmane.org 1328557257 9491 80.91.229.3 (6 Feb 2012 19:40:57 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 6 Feb 2012 19:40:57 +0000 (UTC) To: Guile Users Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Feb 06 20:40:56 2012 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RuUQm-00010H-Og for guile-user@m.gmane.org; Mon, 06 Feb 2012 20:40:52 +0100 Original-Received: from localhost ([::1]:38477 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RuUQm-0000e6-3k for guile-user@m.gmane.org; Mon, 06 Feb 2012 14:40:52 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:38386) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RuUQf-0000dq-Pr for guile-user@gnu.org; Mon, 06 Feb 2012 14:40:48 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RuUQa-0005KY-5b for guile-user@gnu.org; Mon, 06 Feb 2012 14:40:45 -0500 Original-Received: from mail-pz0-f41.google.com ([209.85.210.41]:54271) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RuUQa-0005KQ-0H for guile-user@gnu.org; Mon, 06 Feb 2012 14:40:40 -0500 Original-Received: by dadv6 with SMTP id v6so5710807dad.0 for ; Mon, 06 Feb 2012 11:40:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=PgIrgg7K0gDqDpFjLNcgv6TjHnMY1TeoCeL9kkdPR1I=; b=bM76j04uvyP+ORIrQilR1TxHCL+pdEzi8p1COEVuQolOpPM+1tIe2z3YpxRk3wgfqB KMuD1Zjr3K+ibbH2wY1U4WnXFc/eWBnHr3TzyyJldD7PdK6Sn483thu2YxX2bh+RjsSH kpNY0rhkr8vZPvrs5DcscxvZ686Y4Cvntkhog= Original-Received: by 10.68.73.100 with SMTP id k4mr50600535pbv.55.1328557238612; Mon, 06 Feb 2012 11:40:38 -0800 (PST) Original-Received: by 10.142.187.15 with HTTP; Mon, 6 Feb 2012 11:40:38 -0800 (PST) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.210.41 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:9245 Archived-At: 2012/1/31 Ian Price : > [...] > > 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