[Zope-dev] Arbitrary definitions -vs- standard definitions

Don Hopkins xardox@mindspring.com
Tue, 14 May 2002 15:11:44 -0700


There's absolutely nothing about your definition of templating languages
("all about filling in holes in a template") that precludes them being
procedural languages (or functional languages for that matter, as XSLT
attempts to be).

That's just your own arbitrary, artificial limitation that unfortunately has
been religiously applied to this particular templating language.
It's simply a trade-off that somebody decided to make, too long ago to
change.
The fact that "else" is kludgy is just one of the many unfortunate
consequences of that design decision.
That shouldn't discourage people from designing better templating languages.

Please don't impinge on the definition of all templating languages, just
because of the limitations of one particular implementation.
Lisp is a wonderfully powerful templating language, and it certainly
supports procedural, functional, object oriented, and many other kinds of
programming.

However, the standard, agreed-upon definition of XML EXPLICITLY defines
attributes as being unordered, so any so-called "templating" language that
depends on the order of attributes is BY DEFINITION not standard XML, and
should not be advertised as such.

    -Don

From: "Chris Withers" <chrisw@nipltd.com>
Subject: Re: [Zope-dev] 'not:' kludgey?!


> > on 5/14/02 4:41 AM, Chris Withers at chrisw@nipltd.com scrivened:
> > >
> > > Okay, repeat the mantra over to yourself:
> > >
> > > Templating languages are not procedural languages
> >
> > Sounds nice, but what does it mean?  AFAIK a procedural language is
> > something that has a definite order of execution... How does a
templating
> > language differ?
>
> A template language is all about filling in holes in a template. This
should be thought of
> logically as happening 'all at once', so _not_ in a definite order of
execution...
>
> cheers,
>
> Chris