> 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.