On Fri, 7 Dec 2001, Erik Hatcher <[EMAIL PROTECTED]> wrote: > From: "Stefan Bodewig" <[EMAIL PROTECTED]> >> >> Neither that you or Jose Alberto are non-committers, nor that >> anybody is causing trouble. I value your opinion and you know >> that. > > Note the smiley above! :)
I've seen it, but it had to be said anyway. > Disagreement is a good thing - and as I've stated when I first > brought this issue up, I'm a bit on the fence regarding some cases > of setting properties. The whole discussion started with "is it OK that available can be used to change a property's value", and right there I'm next to you on the fence. I have no idea why anybody would want to alter the value of an existing property with any of the tasks we have. Except maybe, just because we provide no different way to do it. If people do it, it shows that they have a use-case where they need to change a property's value. I agree that abusing available or any other task for this purpose is wrong and therefore I welcome the changes you've made to the tasks. Then at some point the discussion switched to "we need to enforce the concept of property immutability in the core". I didn't follow the thread close enough to realize that in time and I'm sorry for this. We don't have that concept, really, and I don't think we should have it. >> > Tasks shouldn't be allowed to override properties. >> >> Why not? > > Because it turns Ant into a procedural programming language rather > than a declarative one. This is the killall argument that gets us close to a an Ant version of Godwin's Law, I guess 8-) Ant is lacking some features of declarative languages that could make up for mutable properties or other procedural features already present in Ant (backtracking would be handy and allow us to get rid of many use-cases for if/unless attributes of targets, for example). One can argue that building things *is* procedural in nature. Ant tries to move all the procedural bits into the tasks and lets you declare the relations between these tasks. My point is that enforcing property immutability makes some tasks that encapsulate procedural bits more or less unwritable. Stefan -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
