Skip to content

Intervals 2.0

No due date 0% complete

The Intervals.jl API hasn't changed much since it was created 5 years ago. Since then we've:

  1. Introduced many deprecations https://github.com/invenia/Intervals.jl/blob/master/src/deprecated.jl
  2. Contributed to a fractured ecosystem JuliaMath/IntervalSets.jl#67
  3. Identified some pretty significant performance issues with our parameterized bounds #208

For the …

The Intervals.jl API hasn't changed much since it was created 5 years ago. Since then we've:

  1. Introduced many deprecations https://github.com/invenia/Intervals.jl/blob/master/src/deprecated.jl
  2. Contributed to a fractured ecosystem JuliaMath/IntervalSets.jl#67
  3. Identified some pretty significant performance issues with our parameterized bounds #208

For the next major release we should work to clean up these issues as best as possible.

Roadmap:

  1. Drop all deprecations
  2. Make our interval types extend IntervalSets.AbstractInterval{T}
  3. Benchmark cost of storing parameters (e.g., bounds, offsets) as fields (also assertions like all(ishourending, intervals)
  4. Drop bounds and offset parameters and fix tests
  5. Test against IntervalSets.jl API and extend it as necessary

Since I don't think this package is actively being worked on much I'm inclined to just make PRs to a central dev branch and then merge that into main just before tagging?