ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jose Alberto Fernandez" <>
Subject Re: cvs commit: jakarta-ant/src/testcases/org/apache/tools/ant/taskdefs
Date Wed, 12 Dec 2001 08:44:24 GMT
From: "Stefan Bodewig" <>

> On Tue, 11 Dec 2001, Jose Alberto Fernandez <>
> wrote:
> > That is why I suggested <param> beecause it does not say what they
> > are but what their function as parameters of the call.
> But we already have <param> on <antcall>, adding a new <param> type
> <ant> that meant a different thing would cause even more confusion.

What I am saying is to modify the thing so that <param> means the same thing
everywhere (<ant> and <antcall>). 

> > Are we going to add new <elements> for every new kind of thingy we
> > come up with?
> Aren't we?

I hope not. From all the programming languages I know, only very bad ones if any
have different syntaxes or parameter passing depending on the type of the thing
being passed. They may use deferent syntaxes depending on the way the object
is passed (by value or by reference), but not really on the type of the object being passed.

> But it may be a big people rely on.

This is the "when a BUG becomes a feature" syndrome. I think we need to stop
thinking like that at some point. First we really did not have a full design phase
for ANT, and then we have this idea that every bad choice is not a feature and
there is no way we can get rid of it, because someone, somewhere may be using it.

With that philosophy it is very difficult to produce a good consistent tool.

> Even though <antstructure> says "id" is an ID in the DTD, nothing is
> there to enforce it.  Ant doesn't conform to any DTD whatsoever
> anyway.

I guess, what I am saying is that we should be enforcing it. That is my point.
In particular since IDs, IIRC, are processed by ProjectHelper.

> > Are you copying the objects or just passing copying the entries from
> > the IDs table? The reason I am asking is two fold:
> Copying the references, not cloning the objects right now.
> > 1) If I remember correctly, datatypes are associated to a Project
> > instance during creation.
> Most of them still take an explicit project instance when you use
> them.  But we need to take care here, you are correct.

I am not saying it is wrong for them to be evaluated in the context of their
original Project (that would be like "pass by name" for those who remember ALGOL-67
or SIMULA-66) that may actually be a good thing.  :-) 
My only point is that whatever we do, it needs to be consistent across your <references>.

It should depend on whether the reference contains a result of some sort, or it will compute
its value when used by a task. In the later case, the context of evaluation would be the
Project in which it was originally defined (that would be "pass by name" semantics).

> > 2) <property> objects, IIRC, are also stored as references.
> No, they can be, but they are not always.


Jose Alberto

To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message