ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Vernum <>
Subject RE: What is a 'declarative' language [ was Re: [VOTE] vote on ge neral direction ...]
Date Tue, 27 Mar 2001 08:51:24 GMT
From: Stefan Bodewig []

> Tim Vernum <> wrote:

> > In the end though, I don't think anyone really care what 
> > "declarative" means.
> Well, as long as "purely declarative" is a request, I'd really prefer
> to know what I'm voting on 8-)

That's never stopped me before :)

> >    [...] but I do think that adding more expressiveness in those
> >    relationships could be useful in ant.
> Expressiveness in what way? Optional dependencies like Jose Alberto
> mentioned (something I've never thought of myself)? Dependencies of
> defined order?

At the moment, the dependency graph, is actually a tree.
You have a named target which is your root, and from there, it's
pretty much a straight tree expansion, with the exception that
if a node appears in two places it is only executed once.

That is generally enough, but it's not particularly expressive/complex.

Having optional dependencies is one thing that could be added.
Having dependencies for actions on failure is another.
You could change if/unless to be treated more like dependencies, rather
than conditions.

Honestly, I'm not really sure, but when the prolog discussion was
going on, I saw that Ant's relationships are very basic, and there
is a whole world of options that could be considered, and which
might (or might not) be useful.

> Sometimes people even use different names for the same thing, I
> remember <map> (looks as if it has been borrowed from lisp - not
> suspect of being procedural) and others.

That's part of what I'm getting at here.
Who cares if lisp is procedural or not? 
Just because lisp isn't procedural, that doesn't mean that adding
lisp-isms is a good idea.
Similarly, is lisp where procedural, then that wouldn't make its
features automatically bad.

I'd like to see list/set based operations. But I like them because
they're a fairly clean, simple, and powerful way of supporting 
iteration, not because they're declarative.

View raw message