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.
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.
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
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")))
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
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
??>> 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..
"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
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
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
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
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
>
> [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
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
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.