On Dec 28, 2009, at 8:35 PM, Tarek Ziadé wrote:
On Tue, Dec 29, 2009 at 2:17 AM, ssteinerX@gmail.com email@example.com wrote:
On Dec 28, 2009, at 8:00 PM, Ben Finney wrote:
The dependency declarations are *not* Python language syntax, and there is no need to consider Python language syntax in defining them.
We're also not going to be writing an operating system with them; just simple version range statement.
I think that the range expression:
is easy to read, immediately understandable, and expresses everything that needs to be said.
Yes, it needs to be stated that the ends are inclusive, but after that, it's pretty obvious what it means at a glance
The syntax as it is already defined in the PEP can be used to define what we need. The part that was unclear was about the meaning of "2.5". e.g.: 2.5.0 or 2.5.x..
It became obvious in the thread that it means 2.5.x. (e.g. a range) so there's no need to introduce any range operator, wether it's "~=" or a new notation with ":".
IOW, since the syntax already present in the PEP is sufficient for our needs (besides ~=) , and as long as the precise definition of "version string" is provided, I consider that further discussion about the syntax itself is more or less bikeshedding.
I am now rewriting the relevant section of the PEP with the examples we discussed in this thread, but the operators should stay the same as they were initially: "<", ">", "<=", ">=", "==" and "!=".
Fine by me.
My original contention was that we should be referencing that document as it already defined everything we needed and that any syntactic sugar be defined in those terms.
The ":" syntactic sugar appeals to me but is, as you say, not necessary.