Rich Versions use [1.5,1.6[ rather than standard interval notation [1.5,1.6)

The standard interval notation “[1.5,1.6)” means the interval 1.5 <= x < 1.6.

There are thousands of math textbooks and websites that use this, but here are two quick references:

Why would Gradle use a completely non-standard interval notation “[1.5,1.6[”?

I’m talking about this:
https://docs.gradle.org/current/userguide/rich_versions.html

In math, notation can vary. But generally there needs to be a good reason for that, especially for new work. Someone can use a different glyph to represent the integer three, but that would be confusing, and unless there is some unusual circumstance, it’s generally not a good idea.

Is there some unique circumstance where Gradle doesn’t use standard interval notation, but invents new notation?

1 Like

It did not.
And even your link collection agrees.
Granted, the first link has just very brief information, suppressing half of the truth.
But your second link shows that both notations are standard and equally usable.
We for example learned in school just the version with square brackets and not the round brackets version.
And I also find it much clearer and much more readable with the square brackets.

It is even the case that Gradle accepts both notations as you can read at Declaring Versions and Ranges.

To where it comes from.

Maven - the one big pre-Gradle Java dependency manager - supports only the round brackets: Maven – POM Reference

Ivy - the other big pre-Gradle Java dependency manager - supports both versions: version-matchers | Apache Ivy™

Gradle as it supports metadata of both of these systems of course also supports both notations.

Maybe in the future you should inform yourself a little bit better before doing such an unfriendly bullying post.

1 Like

But your second link shows that both notations are standard and equally usable.

Both notations? What are the two notations? There is one and only one universal interval notation in math: Round parentheses like (1,2) is an open interval. Square brackets like [1,2] is a closed interval. Then (1,2] is left-open, right-closed, and [1,2) is left closed and right open. Both of the math links I gave specify this. There is no alternative notation for open intervals, closed intervals or half-open half-closed intervals.

Khan Academy says the same thing:

as does Varsity Tutors:

Can you link any math resource on the Internet that uses anything other than this interval notation that I claim is universal? Use your favorite search engine and search for interval notation.

I can also link more advanced math, where this universal interval notation is used without explanation and assumed to be understood.

Maven - the one big pre-Gradle Java dependency manager - supports only the round brackets: Maven – POM Reference

The Maven notation is entirely consistent with traditional math interval notation at all of the math links.

At that link, Maven supports open intervals with round parentheses and closed intervals with square brackets and then half-open, half-closed intervals as well.

Ivy - the other big pre-Gradle Java dependency manager - supports both versions: version-matchers | Apache Ivy™

Ivy supports a weird, non-standard interval notation. It uses the backwards square brackets for open intervals which is entirely non-standard.

It is even the case that Gradle accepts both notations as you can read at Declaring Versions and Ranges.

Interesting. So Gradle supports both universal math interval notation and the weird non-standard Ivy notation.

Both Ivy and Gradle should drop the non-standard interval notation and just use universal math interval notation.

The notations you mentioned.
Either round brackets or outwardly pointed square brackets.

As I already told you and also your own link shows, this is fake news.
As I already told you this, how about re-reading your own links before continuing with your very harsh tone and false facts?

Also interesting that then the whole German education system is not following the “one universal standard” that you claim.

I told you already that this is not true and that you should read your own links more carefully.
Here a screenshot of the relevant section with highlightings for you “convenience”:

That some resources concentrate on just one of the possible syntaxes can have many reasons. Ignorance, missing knowledge, trying not to confuse consumers with multiple options, …
That is in no way any sign at all that it is the only truth, as even your own links show.
It is just a sign that some people are more conservative in accepting and adapting evolution.
This is similar to the usage of metric system in the USA.

Why bother a search engine?
Just follow your own link and the resources it links to:

Or here the actual international standard defining it in items 11-4.15 - 11-4.17:

You can link whatever you want.
That doesn’t make it more to be the truth.

That’s the important word.
“traditional”, used mainly by conservative minds refusing to follow the evolution of things. :stuck_out_tongue:

No, it is just better than Maven and as good as Gradle, supporting both of the standard ways how to note an interval.

If you strike out “and the weird non-standard Ivy notation.”, and make “notation” plural, then your sentence is correct.

No, if at all, Maven should wake up and accept all standard interval notations.
But then, hey, it is not a math software, it could also use 1.0.0 - 2.0.0 for noting an interval and there would be no legitimate reason to complain.

Besides that no weird thing is involved besides your vehement refusal to accept the simple truth, even if it would be non-standard notation which it is not, dropping support for it would be one of the most fatal things to do, as that would render all libraries released to a Maven or Ivy repository and using the perfectly fine notation would be unusable.

Now please, please, please with sugar on top, read your own links and the links it brings you to, accept the truth, and stop spreading fake news. Thanks.

1 Like

You’re right that the Wikipedia article did mention the syntax of using backwards square brackets to represent what is commonly called an open interval or an excluded endpoint of an interval. So that isn’t a new notation made up by Ivy and Gradle as I said. I’ll admit to being mistaken on this.

I still conclude that most modern math standardizes on parenthesis (1,2) style open intervals rather than the backwards square brackets ]1,2[ syntax for open intervals. The latter syntax does have some history, it’s used by some older formal mathematicians, it’s entirely valid. Ultimately, all syntax and language was made up in the past, and people today can use whatever they want, we can even write in a fictional language, but at some cost of confusion.

Also several of my math professors in US universities, are Germans, raised and educated in Germany, spoke German as their first language, and they choose (1,2) style notation for open intervals. So, I’m skeptical of the claim that the entire German education system has standardized on the backwards square bracket ]1,2[ syntax for open intervals.

It is my humble suggestion to stick with mainstream interval notation to avoid unnecessary confusion and complexity. But it’s not a big problem to leave things as-is, especially if both syntaxes are supported. And sure Gradle already choose what it choose, so doesn’t want to make user-facing compatibility changes on a minor issue anyway.

Thanks for the replies. Have a great one :slight_smile:

I guess your professors just adapted to the conservative choice of the US to use the round brackets so to not confuse the US students.

My claim was based on the fact that I know no-one in Germany that actually learned about the round brackets but only the square brackets and that also in the formulary that is used here only the square brackets are ever shown.

I still conclude that most modern math standardizes on parenthesis

The important part you miss is, “American”.
Just like Americans still not use the metric system generally.
America is not the world and does not dictate what is mainstream for the whole world. :wink:

2 Likes