[suave-devel] Beginners look
Red Daly
reddaly at stanford.edu
Sun Apr 29 18:25:37 UTC 2007
Hi Henrik,
Thanks for the message! It motivates me more to see that somebody else
has some interest in the project.
I should warn you that a lot of the project's components are
experimental or in early stages of development. I'll give you a rundown
of each folder in the project directory everyone's sake:
AMAZON-ECS: a library for interfacing with Amazon's ECS service. it
works well for fetching details about books, CDs, etc and I use it for a
running web site. I anticipate adding more functionality as I need it
in 6 months or so.
CL-SAILS: this is a port of an older, ruby-based version of sails.
Sails are GUI components for web pages. They are defined by some HTML
with additional markup to indicate, for one, that certain DOM nodes are
named fields of the sail. I am using this in a current project so it
will be getting some attention (including examples) in the next few weeks.
JS-ON-CL: an experimental project built on the JWACS parser for dealing
with Javascript in Lisp. Right now there is a Javascript to Parenscript
converter in js-to-parenscript.lisp with an example. I do not imagine
doing much work in here in the future.
LLAMAS: a Semantic Web development framework. There are a few ideas
behind Lambdas on Llamas that make it different from other web
frameworks. Developers should think of a Lambdas on Llamas project as a
web service rather than a web site. A Lambdas on Llamas server provides
resources and services for its intended clients rather than HTML pages
for its human users. Making a local web site based on these services is
straightforward, and uncoupling presentation and application logic to
such an extent often makes the process easier.
In terms of Lisp, a Lambdas on Llamas server consists of responders to
URI requests. Each responder will first generate a "semantic" (i.e.
meaningful) reply, which is usually a CLOS object when a request is
received. Based on supplied parameters, it will then decide the output
format of the response and render some appropriate textual/binary
sequence. For example, a Parenscript responder will have the ability to
request a file as either Parenscript or Javascript, but the original
abstract response (the Parenscript file) is the same in both cases.
I hope to make Semantic Web standards more integral to Lambdas on
Llamas. Any response should probably have some RDF/OWL representation
so interested parties can work with the response in a machine-readable,
standard encoding. I would like to see Wilbur become active again (prod
the developer!) or perhaps watch another RDF library crop up.
Lambdas on Llamas awaits some design decisions though I currently use it
on live sites. In a few months it will receive more attention, though
real progress awaits a quality library for working with RDF.
PAREN-PSOS: the Parenscript Object System is currently in good shape and
set to receive some attention in a few months. Legitimate first-class
slot definitions are next on the list, and then comes formalizing the
protocol.
RED-BROWSER: pretty much empty. this was supposed to be a simple agent
for web crawling.
RED-UTIL-CL: utilities.
RJSON: Red's Javascript Object Notation. This works in only a limited
way right now, and the code is pretty ugly. I plan to rewrite it some
afternoon in the next few months.
ROWL: nothing to see here.. future experiments with RDF and OWL in a
Lisp environment.
SAILS: old, Ruby implementation of CL-SAILS
SUAVESCRIPT: a fork and extension of Parenscript with a more
sophisticated compilation/translation process. I believe it is in
disrepair right now because of reckless hacking. The main problem is I
have not fleshed out the design. If you are interested in the project,
post to the list to get me going again and participate in planning. I
would like to see it take shape soon so that people can distribute
Parenscript packages intelligently.
S-XML: a local branch of the S-XML library. The main changes are for
CL-SAILS so more information is passed about the XML structure of input
streams (whitespace, element details, ...).
XML-MOP: a metaobject system for defining XML formats (right now only
decoding); used in AMAZON-ECS. Will probably receive incremental
changes in the future, though there is a lot of room for improvement.
I hope this helps you become more acquainted with Suave. More
information can be found on the iodb.org wiki:
http://iodb.org/wiki/index.php/Suave_Project
Your changes have also been pushed. I will let you know when
Suavescript is in working order again so you can play around with it.
Thanks and enjoy,
Red
Henrik Hjelte wrote:
> Hello,
> I was checking out suave a little. It would probably take a long time to
> get to know everything, so I can't make any intelligent comments yet. It
> seems related to birds, owls and suave :-). However, I have attached two
> small patches I needed to get things to load for a brief look. The
> example in js-to-parenscript was really cool!
>
> Sadly I couldn't try suavescript because there is some chunk of code
> missing from the parser.lisp file. Check around line 241: (defun
> resolve-macro (name comp-env)
>
> I think this is really interesting stuff!
>
> Thanks,
> Henrik Hjelte
>
>
>
> ------------------------------------------------------------------------
>
>
> New patches:
>
> [small typo
> Henrik Hjelte <henrik at evahjelte.com>**20070429093646] {
> hunk ./js-on-cl/js-to-parenscript.lisp 201
> - (js-to-paren *example script*))
> + (js-to-paren *example-script*))
> }
>
> [asdf dependency on cl-json instead of json
> Henrik Hjelte <henrik at evahjelte.com>**20070429093913
> Because asd file was renamed in cl-json project
> ] {
> hunk ./paren-psos/paren-psos.asd 20
> - :depends-on ("parenscript" "closer-mop" "json"))
> + :depends-on ("parenscript" "closer-mop" "cl-json"))
> }
>
> Context:
>
> [s-xml import
> reddaly at gmail.com**20070426204114]
> [jwacs external
> reddaly at gmail.com**20070331093757]
> [jwacs asd
> reddaly at gmail.com**20070331093634]
> [js-on-cl simple translation changes
> reddaly at gmail.com**20070331020501]
> [js-on-cl import
> reddaly at gmail.com**20070331010543]
> [suavescript packages partial
> reddaly at gmail.com**20070328112044]
> [suavescript packages
> reddaly at gmail.com**20070325001347
> A mostly-working (though not entirely proper) package system for Suavescript.
>
> ]
> [suavescript simple packages
> reddaly at gmail.com**20070321213239]
> [suavescript asd
> reddaly at gmail.com**20070318005514]
> [suavescript import
> reddaly at gmail.com**20070318002027]
> [llamas import
> reddaly at gmail.com**20070306071533]
> [initial import
> reddaly at gmail.com**20070304032041]
> [initial
> reddaly at gmail.com**20070304025033]
> [remove suave directory
> reddaly at gmail.com**20070304023320]
> [add suave directory
> reddaly at gmail.com**20070304014239]
> Patch bundle hash:
> be72eaae664bd94125b5e0ef896cb3abb72d7539
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> suave-devel mailing list
> suave-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/suave-devel
>
More information about the Suave-devel
mailing list