Folks, I've finished implementing the supporting functions in Scheme so I can have a minimal functional sitemap that's executed in Scheme. The end goal is to have a translator from the XML syntax of the sitemap to a Scheme program which implements it. Until then you'll have to see the Scheme code for the sitemap, which may be good anyways as it shows how things are implemented.
In any case, I have some quite amazing results. The Cocoon version used is the latest from the main trunk, and the same Cocoon jar file is used by both implementations. Logging is turned off in both implementations (actually set to ERROR). Remember that this is the first cut version of the Scheme sitemap, with no optimizations being done. Here are the tests I've done - simple sitemap with a generator, XSLT transformer, and a serializer. The page served is schecoon/webapp/docs/index.xml, which was copied over in the main Cocoon, together with an equivalent sitemap entry. - simple reader which reads the Jakarta banner GIF file. The number of requests per second for the Scheme sitemap implementation is about 10-15% lower than the number I get with today's sitemap. I expect things to improve once I do more optimizations in the Scheme version. The startup time however is much faster with the Scheme version, as things are interpreted and there's no need for compilation. In the next days I'm going to focus a little bit on adding some optimizations to the Scheme code, so that I can have it execute as fast as today's sitemap. Next, I'll write a translator from the XML syntax to the Scheme syntax. In the same time I'll write the supporting Scheme code to have it implement the proposed changes to the sitemap. In parallel with this, I'm going to experiment with the continuations ideas described in Christian Queinnec's papers. I plan to write a prototype in Scheme of a medium sized Web application. After this works fine, I'll start writing a translator from a Pascal/Javascript-like syntax for the flow language to Scheme. This will enable people to write control flow programs using a more familiar syntax, rather than the Scheme syntax. I hope this provides some visibility on the steps I'm following in implementing some of the ideas discussed earlier on the mailing list. You can always keep track of the progress by looking in Cocoon's CVS, in the src/scratchpad/schecoon/ directory: http://cvs.apache.org/viewcvs.cgi/xml-cocoon2/src/scratchpad/schecoon/ Best regards, -- Ovidiu Predescu <[EMAIL PROTECTED]> http://orion.nsr.hp.com/ (inside HP's firewall only) http://sourceforge.net/users/ovidiu/ (my SourceForge page) http://www.geocities.com/SiliconValley/Monitor/7464/ (GNU, Emacs, other stuff) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]