From: Alex Mizrahi
Subject: instant Lisp web application publishing
Date: 
Message-ID: <47910789$0$90276$14726298@news.sunsite.dk>
Catchy title, ye?

I've got idea to implement something like that about 1.5 years ago, but 
actually tried to implement it this New Year (yes, I was actually coding in 
New Year's night, I'm kinda freak).

So, what this actually is:

 * it has sort of global database of a special kind -- a triple store, that 
is a list of triples:

  (subject predicate object).

or in Object Oriented terminology: (object property-name propert-value).

People who follow modern trends already know that it is related to RDF, 
heart of Semantic Web, or Web 3.0 as some people call it.

But we do not want buzzwords here, for practical purposes it's just a very 
flexible database that can be easily mapped into OOP terminology (so you 
work with database like you do with CLOS objects), but it also has very 
powerful query language -- comparable to SQL, but more of Prolog style.

(it's also possible to have some database schema (i.e. RDFS) and 
inferencing, but I didn't bother to deal with it so far)

 * Lisp functions (and macros) are stored in this database and are persisted 
in this way.

 * it provides web access to (some of) this function. i.e. you call:

  http://example.com/myfunction

and myfunction is called to generate page dynamically. If you call

http://example.com/add?a=1&b=2

function add will be called with parameters a and b.

(of course these are only examples, it can be a bit more complex to validate 
variables etc).

 * people can create and edit functions via web, and create new pages

 * people can edit database via web (certainly editing functionality can be 
provided via functions published).

And that's actually all. With such functionality it's possible to create 
dynamic web sites of arbitrary complexity with just web browser.
And it's also possible to create new "frameworks" and instantly share them 
with other people.
For example, one can publish macros that will make certain kind of DB 
queries in easier way and do automatical formatting.
Other people can create, for example, Visual Programming Framework that will 
allow others to make pages w/o Lisp programming.

I think at this point attentive reader would say: "That's nice, but it would 
be chaotic. What's about security?".
Yes, this stuff needs access control for functions and data, and a lot of 
security. Possibly private databases too.
I haven't implemented this stuff yet, but i believe it's possible. For now I 
assume it will be used by sane people only (Lisp programmers are sane, 
right?), so I'm leaving security stuff for future.

And at this point should be a link to try the beast in action. But 
unfortunately there is no -- I haven't deployed it yet.
It's not actually an vapourware -- I've actually implemented it and tried in 
action by New Year, but it needs to be polished a little (at least) and 
deployed on a server, and I postponed it since that time.

Actually I hope to recieve some feedback that will motivate me to finally 
deploy the thing -- more feedback I'll recieve, more likely deployment will 
happen :).
If I'll get no feedback, I'll freeze this project for indefinite time, I 
have some other stuff to do too..

Also I don't have a good candidate server to deploy it too. I'm considering 
deploying it to vmware virtual machine on my friend's machine which is 
generally available to internets -- but i'm not sure if my friend will like 
this idea :), and machine is not in datacenter so it doesn't have 100% 
uptime.
So if somebody has server resources to donate and is not scared by insecure 
beast running in vmware (I believe even if it will be totally hacked only 
virtual machine will be lost, but there's always subtle chance to skrew 
whole thing..) -- I'd be very grateful.

As for implementation details, it's based on ABCL-web and is very simple --  
DB access and web engine are already implemented as part of ABCL-web (and 
they are simple too), so the "publishing platform" is just a thin layer on 
top of this. I know some people will consider ABCL-web a bad platform -- but 
if it's already deployed and works, who cares? :)

Of course, the way it works now is just like a conceptual prototype -- it 
has little practical usage, other than prototyping some stuff maybe. But I 
believe it can evolve into something really useful and cool. And it seems to 
be a good demonstration of Lisp -- "code is data" and macros are used. There 
are many things it can evolve into:

 * Lisp webapp easy hosting and development
 * Lisp webapp development/deployment/management platform (this assumes 
there is no central server but people install the thing on their own servers 
and manage them)
 * Semantic Web application wiki (this assumes it should have some easy 
programming interface -- macros for simplicity, HTML templates, visual 
designers etc)
 * a global database for everything (same as above + massive data hosting)

And I'm not sure what is best way... My original idea was a "global database 
for everything", but I've found it too ambitious :), so I think it can solve 
some utilitary needs too.
I'd be very glad to here what people think would be the most useful thing --  
for Lisp community and for mankind :).

with best regards, Alex 'killer_storm' Mizrahi. 

From: Alessio
Subject: Re: instant Lisp web application publishing
Date: 
Message-ID: <530ce4cd-a21f-42e0-898a-1b3591d740d1@v4g2000hsf.googlegroups.com>
I see two potential problems:

- flow of control. A web app is not just a bunch of dynamic pages; it
has to maintain some state (on session, db etc.) AND follow a certain
flow of control (e,g. first log in the user, then show page x, than
page y etc.). Making every function callable with any arguments, in
any order, is going to be messy IMHO.

- debuggability/easeness of coding: (Lisp) people usually work with
emacs + slime or some other kind of IDE which makes some things easier
(e.g. compile or eval arbitrary forms with a keystroke, inspect
objects etc...) this would not be present in a web-only development
cycle.

That said, your idea is less crazy than it seems ;) but perhaps I'd
organize things in a more layered fashion:

- at the core, some "essential" functions and macros such as db
access, html rendering (maybe widgets library too), state/flow of
control management.
- on top, an "environment" layer consisting of web-based debugger,
inspector and editor (not the size of a web-emacs of course - that
alone would require decades!)
- at user level, a web-development centered, dummy-friendly, lisp-
based hyphenated-word-named DSL which allows to code most common
webapps in itself (and of course allows experts to use the full power
of Lisp if they want)

of course, all of this is HUGE. But, things can start small and grow
with time... the idea of a wiki-style webapp builder entices me
(click. "this action/view is not defined. You can create it now, just
type the code here...").

Btw, I'm currently wasting my little spare time on yet another web
framework (which sucks much more than those we have now, but it's
MINE! my treasssure...), and maybe someday it will see the light of
day... and, in the Design (= dreaming) Phase which precedes
Implementation (= hitting the reality wall) Phase, I vaguely
contemplated an idea like yours... but that bitchy rational side of my
brain quickly dismissed it.

So... good luck with your project, if you manage to release something
I'll be happy to give advice (and maybe hack on it, if I have time...)

cheers,
Alessio "doesn't have a nickname" Stalla

Alex Mizrahi ha scritto:

> Catchy title, ye?
>
> I've got idea to implement something like that about 1.5 years ago, but
> actually tried to implement it this New Year (yes, I was actually coding in
> New Year's night, I'm kinda freak).
>
> So, what this actually is:
>
>  * it has sort of global database of a special kind -- a triple store, that
> is a list of triples:
>
>   (subject predicate object).
>
> or in Object Oriented terminology: (object property-name propert-value).
>
> People who follow modern trends already know that it is related to RDF,
> heart of Semantic Web, or Web 3.0 as some people call it.
>
> But we do not want buzzwords here, for practical purposes it's just a very
> flexible database that can be easily mapped into OOP terminology (so you
> work with database like you do with CLOS objects), but it also has very
> powerful query language -- comparable to SQL, but more of Prolog style.
>
> (it's also possible to have some database schema (i.e. RDFS) and
> inferencing, but I didn't bother to deal with it so far)
>
>  * Lisp functions (and macros) are stored in this database and are persisted
> in this way.
>
>  * it provides web access to (some of) this function. i.e. you call:
>
>   http://example.com/myfunction
>
> and myfunction is called to generate page dynamically. If you call
>
> http://example.com/add?a=1&b=2
>
> function add will be called with parameters a and b.
>
> (of course these are only examples, it can be a bit more complex to validate
> variables etc).
>
>  * people can create and edit functions via web, and create new pages
>
>  * people can edit database via web (certainly editing functionality can be
> provided via functions published).
>
> And that's actually all. With such functionality it's possible to create
> dynamic web sites of arbitrary complexity with just web browser.
> And it's also possible to create new "frameworks" and instantly share them
> with other people.
> For example, one can publish macros that will make certain kind of DB
> queries in easier way and do automatical formatting.
> Other people can create, for example, Visual Programming Framework that will
> allow others to make pages w/o Lisp programming.
>
> I think at this point attentive reader would say: "That's nice, but it would
> be chaotic. What's about security?".
> Yes, this stuff needs access control for functions and data, and a lot of
> security. Possibly private databases too.
> I haven't implemented this stuff yet, but i believe it's possible. For now I
> assume it will be used by sane people only (Lisp programmers are sane,
> right?), so I'm leaving security stuff for future.
>
> And at this point should be a link to try the beast in action. But
> unfortunately there is no -- I haven't deployed it yet.
> It's not actually an vapourware -- I've actually implemented it and tried in
> action by New Year, but it needs to be polished a little (at least) and
> deployed on a server, and I postponed it since that time.
>
> Actually I hope to recieve some feedback that will motivate me to finally
> deploy the thing -- more feedback I'll recieve, more likely deployment will
> happen :).
> If I'll get no feedback, I'll freeze this project for indefinite time, I
> have some other stuff to do too..
>
> Also I don't have a good candidate server to deploy it too. I'm considering
> deploying it to vmware virtual machine on my friend's machine which is
> generally available to internets -- but i'm not sure if my friend will like
> this idea :), and machine is not in datacenter so it doesn't have 100%
> uptime.
> So if somebody has server resources to donate and is not scared by insecure
> beast running in vmware (I believe even if it will be totally hacked only
> virtual machine will be lost, but there's always subtle chance to skrew
> whole thing..) -- I'd be very grateful.
>
> As for implementation details, it's based on ABCL-web and is very simple --
> DB access and web engine are already implemented as part of ABCL-web (and
> they are simple too), so the "publishing platform" is just a thin layer on
> top of this. I know some people will consider ABCL-web a bad platform -- but
> if it's already deployed and works, who cares? :)
>
> Of course, the way it works now is just like a conceptual prototype -- it
> has little practical usage, other than prototyping some stuff maybe. But I
> believe it can evolve into something really useful and cool. And it seems to
> be a good demonstration of Lisp -- "code is data" and macros are used. There
> are many things it can evolve into:
>
>  * Lisp webapp easy hosting and development
>  * Lisp webapp development/deployment/management platform (this assumes
> there is no central server but people install the thing on their own servers
> and manage them)
>  * Semantic Web application wiki (this assumes it should have some easy
> programming interface -- macros for simplicity, HTML templates, visual
> designers etc)
>  * a global database for everything (same as above + massive data hosting)
>
> And I'm not sure what is best way... My original idea was a "global database
> for everything", but I've found it too ambitious :), so I think it can solve
> some utilitary needs too.
> I'd be very glad to here what people think would be the most useful thing --
> for Lisp community and for mankind :).
>
> with best regards, Alex 'killer_storm' Mizrahi.
From: Sohail Somani
Subject: Re: instant Lisp web application publishing
Date: 
Message-ID: <huakj.7381$yQ1.6518@edtnps89>
On Fri, 18 Jan 2008 15:11:37 -0800, Alessio wrote:

> of course, all of this is HUGE. But, things can start small and grow
> with time... the idea of a wiki-style webapp builder entices me (click.
> "this action/view is not defined. You can create it now, just type the
> code here...").

That is brilliant. I did not see this in the original post. Imagine if 
you could actually do this...

-- 
Sohail Somani
http://uint32t.blogspot.com
From: Dimitre Liotev
Subject: Re: instant Lisp web application publishing
Date: 
Message-ID: <L4adnWIlY7Ge0QzanZ2dnUVZ_rignZ2d@giganews.com>
Sohail Somani <······@taggedtype.net> writes:

> On Fri, 18 Jan 2008 15:11:37 -0800, Alessio wrote:
>
>> of course, all of this is HUGE. But, things can start small and grow
>> with time... the idea of a wiki-style webapp builder entices me (click.
>> "this action/view is not defined. You can create it now, just type the
>> code here...").
>
> That is brilliant. I did not see this in the original post. Imagine if 
> you could actually do this...

Yes, for example I would go to the following (imaginary) URL:

http://my-bank.com/my-account/add-one-million

and a message would come up:

"Error - no such function. To create it, please type your code here"

That would be fun...

-- 
Dimitre Liotev
(format t "~{~a~}" (reverse '("et" "n" "in." "a" "zn" ·@" "l" "d")))
From: Sohail Somani
Subject: Re: instant Lisp web application publishing
Date: 
Message-ID: <ZCckj.7399$yQ1.283@edtnps89>
On Fri, 18 Jan 2008 20:01:54 -0500, Dimitre Liotev wrote:

> Sohail Somani <······@taggedtype.net> writes:
> 
>> On Fri, 18 Jan 2008 15:11:37 -0800, Alessio wrote:
>>
>>> of course, all of this is HUGE. But, things can start small and grow
>>> with time... the idea of a wiki-style webapp builder entices me
>>> (click. "this action/view is not defined. You can create it now, just
>>> type the code here...").
>>
>> That is brilliant. I did not see this in the original post. Imagine if
>> you could actually do this...
> 
> Yes, for example I would go to the following (imaginary) URL:
> 
> http://my-bank.com/my-account/add-one-million
> 
> and a message would come up:
> 
> "Error - no such function. To create it, please type your code here"
> 
> That would be fun...

I was thinking for development purposes actually...

-- 
Sohail Somani
http://uint32t.blogspot.com
From: Jeff
Subject: Re: instant Lisp web application publishing
Date: 
Message-ID: <e4a731ee-163e-41a8-8c4d-154f1d0cd7c4@i72g2000hsd.googlegroups.com>
On Jan 19, 12:19 am, Sohail Somani <······@taggedtype.net> wrote:
> On Fri, 18 Jan 2008 15:11:37 -0800, Alessio wrote:
> > of course, all of this is HUGE. But, things can start small and grow
> > with time... the idea of a wiki-style webapp builder entices me (click.
> > "this action/view is not defined. You can create it now, just type the
> > code here...").
>
> That is brilliant. I did not see this in the original post. Imagine if
> you could actually do this...
>
> --
> Sohail Somanihttp://uint32t.blogspot.com

I seem to be promoting smalltalk even though I don't even program in
it, but anyways, you should checkout the Seaside web framework as an
example.  They have a full debugging environment, class browser and
development environment that can pop up interactively while you are
looking at a site through the browser.  (I think you have to log into
a slightly different URL than normal, which requires authentication.)
Most likely you can find an online demo to give it a try.  A good
example of a site that is built with this framework is DabbleDB
(google).  I think once you start a seaside app server you could
pretty much develop the entire application, including model and other
backend code, through the browser.  Not that you really want to most
of the time, but it is quite handy for fixing little bugs as you
experiment with a site under development.

-Jeff
From: Alex Mizrahi
Subject: Re: instant Lisp web application publishing
Date: 
Message-ID: <4791399f$0$90266$14726298@news.sunsite.dk>
 ??>> of course, all of this is HUGE. But, things can start small and grow
 ??>> with time... the idea of a wiki-style webapp builder entices me
 ??>> (click. "this action/view is not defined. You can create it now, just
 ??>> type the code here...").

 SS> That is brilliant. I did not see this in the original post. Imagine if
 SS> you could actually do this...

If I wrote all I was thinking of that would be too long and boring post :). 
Indeed I've seen parallel to wiki stuff and at some point I was going to 
call it something like "Semantic Web wiki".

OTOH I'm not a big fan of incremental style of development, so I didn't 
think much about this aspect.
However it's indeed quite logical to open function editor when unknown 
function is called (or when function signal an error), and once definition 
is created/updated call the function with same parameters again.. 
Technically it's pretty easy to do.. 
From: Victor Anyakin
Subject: Re: instant Lisp web application publishing
Date: 
Message-ID: <868x2l7x96.fsf@victor-mobi.my.domain>
"John Thingstad" <·······@online.no> writes:

>>
>> to my knowledge, current semantic wikis have very limited
>> capabilities  for
>> making custom views and applications.
>> closest thing i've found was Rhizome -- but it seemed to be overly
>> complicated. they have some XML, some Python code, dozen of concepts --
>> RxPath, RxSLT, RxML, ZML..
>> it should be much easier to deal with unified syntax for data queries,
>> templating and application flow, and it should be possible to do it with
>> Lisp.
>>
>> maybe my knowledge is dated and you know what's state of the art in this
>> area? practical usable SW applications?
>>
>
> This is not specific to semantic wiki, but Microsoft VISTA has a XML
> format called XAML which can be used to describe the applications
> interface. Used with ASP this is probably the most powerful interface
> today (called XBAP). It can integrate arbitrary shaped controls, 3D
> controls, multimedia controls etc in IE. There are a few very
> convincing  demos out there. Perhaps you could steal a few ideas from
> that.  http://www.xaml.net/

Isn't it somehow similar to the XUL on Gecko-enabled browsers, offered
by mozilla on a greater number of operating systems?

With best regards,
Victor
From: Andrew Reilly
Subject: Re: instant Lisp web application publishing
Date: 
Message-ID: <5vgrceF1mikg4U1@mid.individual.net>
On Sun, 20 Jan 2008 09:48:53 +0200, Victor Anyakin wrote:

> "John Thingstad" <·······@online.no> writes:
> 
> 
>>> to my knowledge, current semantic wikis have very limited capabilities
>>>  for
>>> making custom views and applications. closest thing i've found was
>>> Rhizome -- but it seemed to be overly complicated. they have some XML,
>>> some Python code, dozen of concepts -- RxPath, RxSLT, RxML, ZML..
>>> it should be much easier to deal with unified syntax for data queries,
>>> templating and application flow, and it should be possible to do it
>>> with Lisp.
>>>
>>> maybe my knowledge is dated and you know what's state of the art in
>>> this area? practical usable SW applications?
>>>
>>>
>> This is not specific to semantic wiki, but Microsoft VISTA has a XML
>> format called XAML which can be used to describe the applications
>> interface. Used with ASP this is probably the most powerful interface
>> today (called XBAP). It can integrate arbitrary shaped controls, 3D
>> controls, multimedia controls etc in IE. There are a few very
>> convincing  demos out there. Perhaps you could steal a few ideas from
>> that.  http://www.xaml.net/
> 
> Isn't it somehow similar to the XUL on Gecko-enabled browsers, offered
> by mozilla on a greater number of operating systems?

If not XUL (which probably fits), there have been (file-format-of-the-
day) descriptions of GUIS going back to...forever.  Motif had one, forget 
the name.  Apple Carbon has NIBs (and no doubt NeXT did before that).  
GTK has whatever XML Glade/libglade uses.  There are a bunch of 
equivalents for Java, although they don't seem to be the most popular 
approach.

What's new about XAML?

-- 
Andrew
From: John Thingstad
Subject: Re: instant Lisp web application publishing
Date: 
Message-ID: <op.t48cgefsut4oq5@pandora.alfanett.no>
P� Sun, 20 Jan 2008 12:59:11 +0100, skrev Andrew Reilly  
<···············@areilly.bpc-users.org>:

> On Sun, 20 Jan 2008 09:48:53 +0200, Victor Anyakin wrote:
>
>> "John Thingstad" <·······@online.no> writes:
>>
>>
>>>> to my knowledge, current semantic wikis have very limited capabilities
>>>>  for
>>>> making custom views and applications. closest thing i've found was
>>>> Rhizome -- but it seemed to be overly complicated. they have some XML,
>>>> some Python code, dozen of concepts -- RxPath, RxSLT, RxML, ZML..
>>>> it should be much easier to deal with unified syntax for data queries,
>>>> templating and application flow, and it should be possible to do it
>>>> with Lisp.
>>>>
>>>> maybe my knowledge is dated and you know what's state of the art in
>>>> this area? practical usable SW applications?
>>>>
>>>>
>>> This is not specific to semantic wiki, but Microsoft VISTA has a XML
>>> format called XAML which can be used to describe the applications
>>> interface. Used with ASP this is probably the most powerful interface
>>> today (called XBAP). It can integrate arbitrary shaped controls, 3D
>>> controls, multimedia controls etc in IE. There are a few very
>>> convincing  demos out there. Perhaps you could steal a few ideas from
>>> that.  http://www.xaml.net/
>>
>> Isn't it somehow similar to the XUL on Gecko-enabled browsers, offered
>> by mozilla on a greater number of operating systems?
>
> If not XUL (which probably fits), there have been (file-format-of-the-
> day) descriptions of GUIS going back to...forever.  Motif had one, forget
> the name.  Apple Carbon has NIBs (and no doubt NeXT did before that).
> GTK has whatever XML Glade/libglade uses.  There are a bunch of
> equivalents for Java, although they don't seem to be the most popular
> approach.
>
> What's new about XAML?
>

Rather than provide a lengthy explanaion why don't you serach and find out?
Starting with the link I gave.

As I said these apps can run in your web browser, controls can have any  
shape, support for multimedia, shockwave, 3D animation (using hardware),  
.NET access, complete distiction between UI and code. Good tools for UI  
design that generate XAML.


--------------
John Thingstad
From: Andrew Reilly
Subject: Re: instant Lisp web application publishing
Date: 
Message-ID: <5vhu2aF1mkgr6U1@mid.individual.net>
On Sun, 20 Jan 2008 14:15:40 +0100, John Thingstad wrote:

> Rather than provide a lengthy explanaion why don't you serach and find
> out? Starting with the link I gave.

I did, and I wasn't convinced.  Looked like the same idea to me.  So I 
asked: what's new this time?

> As I said these apps can run in your web browser, controls can have any
> shape, support for multimedia, shockwave, 3D animation (using hardware),
> .NET access, complete distiction between UI and code. Good tools for UI
> design that generate XAML.

No, it doesn't run in your web browser.  It (the little snow-boarder demo 
on that page) doesn't run in either of mine, anyway.  It seems to only 
run if you happen to have the appropriate client-GUI app installed 
(XBAP).  That's no different from, and probably significantly more 
limited a target base, than the several "thin java" GUI clients that 
exist.  The fact that you can use fancier controls is clearly no more of 
a "new thing" than the fact that the client-side GUI toolkit has more in 
it than the standard set of web UI widgets.  Amazing.  Maybe the "good 
tools" will make a difference, but I have my doubts.

Cheers,

-- 
Andrew
From: John Thingstad
Subject: Re: instant Lisp web application publishing
Date: 
Message-ID: <op.t482g9qjut4oq5@pandora.alfanett.no>
P� Sun, 20 Jan 2008 22:51:06 +0100, skrev Andrew Reilly  
<···············@areilly.bpc-users.org>:

>
> No, it doesn't run in your web browser.  It (the little snow-boarder demo
> on that page) doesn't run in either of mine, anyway.  It seems to only
> run if you happen to have the appropriate client-GUI app installed
> (XBAP).  That's no different from, and probably significantly more
> limited a target base, than the several "thin java" GUI clients that
> exist.  The fact that you can use fancier controls is clearly no more of
> a "new thing" than the fact that the client-side GUI toolkit has more in
> it than the standard set of web UI widgets.  Amazing.  Maybe the "good
> tools" will make a difference, but I have my doubts.

But that doesn't stop you from borrowing a few ideas of what you might  
want in a Lisp based web application framework. I wasn't trying to sell  
XBAP as a web development platform. It works on my XP machine but then I  
has a .NET 3.0 Beta version installed probably. Really unless you explore  
the possibilities this discussion is pointless. At least when I design I  
try to look at similar things other people have done. I evaluate 4 or 5  
different designs and incorporate ideas that I like. (At the moment for a  
bug track system.)

--------------
John Thingstad
From: ··············@gmail.com
Subject: Re: instant Lisp web application publishing
Date: 
Message-ID: <083782c2-78a9-4668-aac2-f2d97ec3e5a7@v46g2000hsv.googlegroups.com>
>
> [snip]
> try to look at similar things other people have done. I evaluate 4 or 5  
> different designs and incorporate ideas that I like. (At the moment for a  
> bug track system.)
>
Seen Trac? It's fairly hackable by default.

- Mikael
From: Maciej Katafiasz
Subject: Re: instant Lisp web application publishing
Date: 
Message-ID: <fn05uj$ivd$1@news.net.uni-c.dk>
Den Sun, 20 Jan 2008 11:59:11 +0000 skrev Andrew Reilly:

>> Isn't it somehow similar to the XUL on Gecko-enabled browsers, offered
>> by mozilla on a greater number of operating systems?
> 
> If not XUL (which probably fits), there have been (file-format-of-the-
> day) descriptions of GUIS going back to...forever.  Motif had one,
> forget the name.

AFAIK, it had more than one such format, with one of them being really 
crappy and limited, and the other (created to address that) being Lisp-
based, I think it was pretty much micro apps whose output was UI layout. 
It's not very easy to find any kind of comprehensive info about Motif, 
though, with it being proprietary and born way before the internet.

Cheers,
Maciej
From: Alex Mizrahi
Subject: Re: instant Lisp web application publishing
Date: 
Message-ID: <4791dcdb$0$90266$14726298@news.sunsite.dk>
 A> - flow of control. A web app is not just a bunch of dynamic pages; it
 A> has to maintain some state (on session, db etc.) AND follow a certain
 A> flow of control (e,g. first log in the user, then show page x, than
 A> page y etc.). Making every function callable with any arguments, in
 A> any order, is going to be messy IMHO.

the way i've desribed it is of REST architecture -- each resource is 
addressed by URL, and there is no state on server (except, maybe, identity 
of logged on user).
to my knowledge it's quite viable architecture -- you can make wide very 
range of applications with it. as for erroneous URLs, it's not different 
from traditional web servers -- if user clicks wrong URL error page is 
generated.

however the way it works is different from way i've described :). 
continuation style is used for now -- for each link and form there is a 
closure that is invoked and link/form is activated by user. from developer 
perspective it works fine -- it's very easy to preserve state as mere 
lexical variables that are captured into closures. but this is problematic 
for server -- closures eat memory, and it looks weird for users -- they 
cannot bookmark URLs because closure ID is in them, and some "very stateful" 
applications can have problems with backbutton etc..

i believe it's better to have a hybrid approach -- as much as we can in REST 
style, and the rest via continuations.

but anyway, the way it works now seems to be quite usable (i've made some 
little applications with it, though not "via web"), and that should be 
enough for a prototype.

 A> - debuggability/easeness of coding: (Lisp) people usually work with
 A> emacs + slime or some other kind of IDE which makes some things easier
 A> (e.g. compile or eval arbitrary forms with a keystroke, inspect
 A> objects etc...) this would not be present in a web-only development
 A> cycle.

eval/inspect is not a problem at all, interactive debugger is -- but 
sometimes Lisp is hard to debug even having tools like SLIME, so i believe 
simple error reporting + debug I/O (like trace) should be enough for most 
purposes.
i've found that interactive restarts (like "specify other value") are not 
useful for me in 99.9% cases, and SBCL's backtrace in SLIME looks like a 
horrid mess, so i don't think it will be much worse with "via web" approach 
:).

 A> That said, your idea is less crazy than it seems ;) but perhaps I'd
 A> organize things in a more layered fashion:
 A> - at the core, some "essential" functions and macros such as db
 A> access, html rendering (maybe widgets library too), state/flow of
 A> control management.
 A> - on top, an "environment" layer consisting of web-based debugger,
 A> inspector and editor (not the size of a web-emacs of course - that
 A> alone would require decades!)
 A> - at user level, a web-development centered, dummy-friendly, lisp-
 A> based hyphenated-word-named DSL which allows to code most common
 A> webapps in itself (and of course allows experts to use the full power
 A> of Lisp if they want)

right, layered approach should be more practical -- but i do not think of 
particular use case patterns for now, and without particular patterns it's 
hard to define layers and contents of these layers -- what should be in DSL 
(or DSLs?) etc.
so my idea is to have totally chaotic thing for now, and then see how it 
gets used by users (if it gets..) and getting feedback.

for example, i've found people here consider it as an application 
development platform -- so we have discussion about debuggers, stateful 
applications etc.

but my initial vision was database-centric -- you have a global database and 
have different view to it. so it's like wiki, but a SemanticWeb-style 
wiki -- not documents but data objects are stored in it. and certainly it 
needs customized (user-customizable) views for these data objects. in this 
case DSL should have features like easy templating for making views for data 
queries, but not stateful application stuff.
as for use cases, people could use SW wiki to make stuff like 
http://cl-user.net/ -- it's clearly better than unstructured 
http://cliki.net/, and unlike "static" site it could evolve over time, so, 
for example, for libs that are web frameworks we could define additional 
properties (like if it supports continuations or REST, components), and draw 
comparison tables, so people would be able to pick web framework in better 
way. and persistence libraries could have their distinct features..

 A> of course, all of this is HUGE.

i do not see why mentioned stuff is HUGE. certainly implementing it in best 
way possible -- so it would be shiny, use fancy AJAX stuff all over place 
and have visual form designer -- will take HUGE amount of work.
but just simple stuff that works should be relatively easy.