Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion Scheme vs Lisp! [was Re: web application framework]

Sender: hen...@pokey.internal.henrik-motakef.de
Newsgroups: comp.lang.lisp
Subject: Re: Scheme vs Lisp! [was Re: web application framework]
References: <Pine.LNX.4.56.0311061722200.26007@sixfingeredman.net> <XSOqb.143$KR3.49514@typhoon.nyu.edu> <3FABD814.B3D798EF@sonic.net> <Pine.LNX.4.56.0311071640540.413@sixfingeredman.net> <x0grb.154$KR3.50328@typhoon.nyu.edu> <yfsd6c2joci.fsf@black132.ex.ac.uk> <ktvrb.58643$Gq.12004553@twister.nyc.rr.com> <bom1l3$5i4$1@newsreader2.netcologne.de> <bom6rg$vbe@library1.airnews.net> <bom71m$e2k$2@newsreader2.netcologne.de> <bp0ldf$lu7@library1.airnews.net> <86znez9b4y.fsf@thirst.unx.era.pl>
From: Henrik Motakef <usenet-re...@henrik-motakef.de>
Date: 14 Nov 2003 00:33:08 +0100
Message-ID: <86brrfkfnv.fsf@pokey.internal.henrik-motakef.de>
Lines: 33
User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 8bit
NNTP-Posting-Host: 213.23.207.215
X-Trace: 14 Nov 2003 00:29:52 +0100, 213.23.207.215
X-Complaints-To: abuse@arcor-ip.de
Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!news-han1.dfn.de!news-fra1.dfn.de!newsfeed.arcor-ip.de!news.arcor-ip.de!213.23.207.215

Sławek Żak <s...@era.pl> writes:

> I find the automatic undoing of transactions *very*
> appealing. Modeling user session in interaction with a web page
> using function calls and returns is also great. What about
> bookmarking your page and restarting the computation after a while?
> If continuations only were serializable, you could restart the
> server without any of the users noticing. Transfering the sessions
> between machines in clusters would let you restart the servers
> transparently. What about keeping state in memory (closures+call
> stack) instead of RDBMS?

Well, what about it? It would perhaps be a less painful workaround for
the fundamental problem that you are working against your tools, in
this case the HTTP protocol.

The problem isn't on the server side. It is perfectly possible, and
not that hard either, to model an app as a set of abstract resources
(that can be presented in various ways) that are manipulated with GET,
POST, PUT and DELETE (if you feel innovative, also MKCOL, PROPPATCH
etc). The problem is that HTTP clients, namely HTML-centric web
browsers, are crap and don't really support HTTP all that well. If
this changes (and it probably won't), writing web apps will be a lot
less painfull; until then, every server-side trick to pull "client
sessions" and other state out of the air will at some point prove to
be leaky abstractions in the Joel Spolsky sense.

I can see how continuations could make some web apps look more like
they would be written for a non-web environment, by making the code
look like it would use plain function calls. But web apps simply do
not work like non-web ones, and neither should they. The whole idea
has "leaky abstraction" (in the Joel Spolsky sense) written all over
it.