Julia standard library for interval type

Current evidence suggests that it is not.
Our idea of what an interval is and how it should act is demonstratably still evolving since we have multiple competing packages.

Hopefully at some point those will converge, either to one package, or to a common shared API (like Tables.jl), but til then we need to keep them flexible.

Changing anything in a standard library is hard.
You can’t make any breaking changes.
and even adding new features is annoying since people on old versions of julia can’t benifit from them.
Where as a package can be updated independently of the julia version.

Standard libraries are basically second class packages.
There are to my mind 2 reasons to put things in standard library.

  1. It is needed for some other part of the standard library. (e.g. we introduce some missing methods for some specialized matrix factorization, but that needs say some new method for factorizing numbers into primes or something to implement efficently.)
  2. Not having it in the standard library causes people to use an inferior solution that is in the standard library (a good example is only which is like first but also checks that there is only one element. WIthout it people will use first and their code will be a bit less robust to programmer mistakes)

Julia is not a language where everything you need is in the standard library (unlike say Mathematica).
Julia is more like LaTeX: noone uses LaTeX in a nontrivial way without installing a few dozen packages.

21 Likes