Torsten Curdt pisze:
>> Honestly I have no opinion on an implementation of the sitemap engine in a
>> functional language.
>> Perhaps it's just me, but I fail to see the reason to do so.
>
> I didn't bother to search the archives ... and this might also been
> beer talk during GetTogethers where this came up before ...but IMO the
> point is not use necessarily a "functional language" but a language
> that is more suited for the job.
You probably have in mind thread started by Ugo Cei "[RT] A Groovy Kind of
Sitemap"[1]. I'm still in
process of reading all replies.
Yep, the real point is to use something better than our current sitemap
language. I have chosen
functional language (namely Scala) because it's my current field of interest
and because I can see
benefits coming from using it.
To point out just a few:
1. More concise and natural syntax. What about pipeline looking like:
FileGenerator("a/template.xml") | XSLTTransformer("b/sth.xslt") |
MyTransformer | HTMLSerializer
This is a plain Scala with a few things defined correctly. Scala has a nice
support for creation
of DLSs, see[2]
2. Ad-hoc defintions of simple transformers.
3. Debugging support for sitemap.
4. Strong typing for sitemap.
> Using XML for the sitemap IMO turned out to be a very bad idea in
> retrospect. (Well, everything is XML - right) On the other hand
> writing a sitemap in a common language (javascript or something
> similar) will lead to terrible abuses (as you would only need a subset
> of whatever you pick). Coming up with your own DSL has become so
> simple that this would be my choice now these days.
Actually I don't believe that we can stop people making stupid things simply by
designing a good
software. Definitively we should encourage people to use our software the
proper way but working
hard on obstacles is more questionable.
Anyway, DSL-like syntax is possible in Scala.
> I have already seen so many people adopt the sitemap concept in other
> projects. (I wish httpd would adopt it!) But everyone came up with
> their own implementation. "I just need a little sitemap engine". Let's
> face it the component re-use in that aspect is a bit of a myth. (Poll:
> how many people re-use cocoon components in other projects as is?)
>
> Maybe it's time to learn from the Cocoon strengths and turn parts of
> it into APIs. The pipeline API is a good example. I guess this is the
> only way to revive Cocoon's future.
+1 for that.
I guess we all agree that we want to create something more than just a pipeline
API and its
implementation, right?
Anyway, it's good that this work has started. Rewriting from scratch but based
on our expierience
brings some new opportunities.
[1] http://thread.gmane.org/gmane.text.xml.cocoon.devel/39351
[2] http://www.scala-lang.org/node/104 (Scala is extensible section)
--
Best regards,
Grzegorz Kossakowski