From: "Stefan Bodewig" <[EMAIL PROTECTED]> > On Tue, 11 Dec 2001, Jose Alberto Fernandez <[EMAIL PROTECTED]> > 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 to > <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. > OK. Jose Alberto -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
