> One potential area of confusion is starting to dawn on me - in most > programming languages, while constants and variables may be defined > separately, they tend to be referenced with an identical syntax. Now that > you are talking about how this will be implemented, I am starting to get > the impression that this will not be the case with Ant.
I was thinking of CPP-like #define. Entities are replaced by a preprocessor ( XML needs to do that ). I think we shouldn't use the same syntax - for entities ( or pre-processed constants) it's better to make clear that they have different evaluation rules. There are too many differences between constants and variables in our case - ant there are 2 different "languages" and semantics - entities ( and the current properties) are evaluated/replaced before executing ( at translation time ), while variables as you need/want are a runtime problem. Of course, we still disagree strongly on the runtime role and power - i.e. the fact that the runtime will do the magic of replacing variables before a task is executed, etc. That's ok as long as variables are used only for programming ( or inter-task communication ) - and most build files will be variable-free ( which is very easy for most 'clasic' buildsfiles - current properties are pre-processed constants, not variables ). I don't know if I explain this clearly... > I would gladly volunteer to write this and have it ready for us to discuss > at ApacheCon - if I felt that I understood the desired semantics better. At least we can understand each other at apacheCon, and make the prototype(s) later. Costin
