Dieter Maurer wrote:
Be very reluctant to extend TALES. Do not do it do get just
syntactic sugar in order to save a few lines of code.

I agree that we should be wary. Adding a feature to make something simpler simultaneously complicates the whole picture. To offset that negative, the new feature has to be a lot better than the previous alternatives. Well, here's a sample of what we'd get with prefixes in path expressions, all with a very minimal addition to TALES.

"call:" eliminates the need for implicitly calling things. Purely explicit calling would eliminate a major class of bugs.

"format:" provides access to the same string formatting API that previously required importing a module. In fact, it seems unlikely you'll want to import *any* modules in templates anymore.

"zope:" gives you access to a nice Zope-specific API, again without importing a module.

"dc:" lets you access simple Dublin Core metadata. Perhaps "here/title" should even be deprecated and replaced with "here/dc:title", since it's more explicit and more likely to generate the expected result, yet no more work.

I almost forgot to mention the most compelling reason why we need prefixes: in Zope 3, we won't be able to fall back on implicit acquisition anymore, so we need something to replace it. Here's the (old) proposal that explains it all--

You see, prefixes are meant to let you work comfortably in an otherwise excruciatingly explicit world. :-)


Zope-Dev maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists - )

Reply via email to