Steven Noels wrote:

On 29 Jul 2004, at 20:40, Tony Collen wrote:

Scripting languages (and programming languages in general) are easy to create, all you need to do is define the grammar and tokens, and feed it all to something like JFlex/BYacc to create a parser. Perhaps it's easier said than done. Granted, I've done nothing with parser generators, but in the end I think it's the same.


Agree, but I'm not convinced that we are just aiming for a simpler syntax. I feel we're moving away from declarative, and I'm convinced that this might reduce the predictability of Cocoon's behaviour and usage model.

For that matter, you can describe lots of things with a grammar that isn't necessarily a programming language, so perhaps I mis-spoke. I simply thought that being able to define the sitemap with a grammar would allow us to create a parser that would parse the tree of the sitemap.



I've been jotting down sitemaps in shorthand notation myself ...

match *.html
  generate {1}.xml
  transform 2html.xsl
  serialize html

... a bit like the humiliated XML used in httpd.conf, but IIUC, what is being suggested ATM is the introduction of the usual programming language constructs in Cocoon's request handling configuration syntax....

I disagree. I think the only thing that is being suggested is a simpler syntax. The fact that you can describe a programming language with a grammar and a document like this with a grammar shouldn't imply that we consider the sitemap a programming language. It's far from Turing-complete, and I think we're smart enough to keep it that way by separating the Flowscript from the Sitemap.



isn't its quest for Turing-completeness one of the reasons why XSLT has been shunned by real developers: being too much and too little of a programming language at the same time? With a programming language-like sitemap language, we might end with the same result.

It may be true about XSLT, but with regards to the sitemap, we'll never know unless we try it.


I read mod_rewrite as an example, and I remember without looking up that the documentation of that module is the only one with a special foreword explaining/warning how wildly exotic it is.

Ugh, and even *with* the references there, it's almost impossible to get right :)


Regards,

Tony

Reply via email to