cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ovidiu Predescu <>
Subject [UPDATE] Scheme sitemap implementation
Date Thu, 10 Jan 2002 07:09:44 GMT

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:

Best regards,
Ovidiu Predescu <> (inside HP's firewall only) (my SourceForge page) (GNU, Emacs, other stuff)

To unsubscribe, e-mail:
For additional commands, email:

View raw message