> Prolog is declarative.

Maybe, but declarative is not prolog.

In the declarative end of the spectrum, the 3 that people
 generally think of are:
  * prolog
  * haskell (or a subset of lisp)
  * SQL

And they are quite different languages.
In that sense, having "declarative" as a goal, does mean much.

In the end though, I don't think anyone really care what 
"declarative" means. We're not trying to submit papers to The
Journal of Declarative Languages :).

I wouldn't expect that too many people actually care whether
ant meets some special criteria for "declarative languages", what
they believe is that having a declarative style, rather than a 
prodedural style, is going to bring benefits to the project.

So, I think that rather than dicsussing which languages are 
declarative, and which aren't, or what the strict definition
of a declarative language is - a better discussion, would be,
for the people who feel strongly that Ant should be declarative,
what aspects of declarative languages do you consider to be
important for ant, and which aspects of prodedural languages do
you consider to be problematic.

I don't feel particularly strongly about this, but I will 
through some ideas in.

 * Dependencies between tasks are relational.
   In general, logic languages (like Prolog) describe such
    relationships more cleanly, and expressively than 
    procedural languages. 
   I'm not sure what else I can say on that point, but I
    do think that adding more expressiveness in those
    relationships could be useful in ant.

 * Set/list based operations.
   I think that the "foreach" requests are really about set
    operations. Perform this operation for all members of 
    this set.
   I think most declarative languages handle sets vey well,
    and if Ant is heading down the path of adding in a
    foreach, etc, we would do well to model it on some of
    the declarative languages, rather than a perl/java/C
    for loop.

Reply via email to