You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reduces the number of custom types we need to maintain in this package
We can rely on most of the existing logic and conversion in Infinity.jl (or eventually Infinities.jl) to handle most of our logic
Having endpoints map to ::Union{T, Infinity} seems a bit more intuitive to me... as we often use Union{T, Missing} or Union{T, Nothing} in other similar contexts?
Cons:
This would increase the size of the interval type as we'd be storing an extra bool for each endpoint
We're depending on another external package which users must learn and switching from Infinity.jl to Infinities.jl would likely be another breaking change.
The text was updated successfully, but these errors were encountered:
In retrospect we could probably just drop the endpoint logic in favour of.
Having a constructor which promotes left and right endpoints of different types.
Assuming basic functions like isless, isequal, or isfinite exist for the element type.
In the end this should make it easier for us to align Intervals.jl with IntervalSets.jl which doesn't have an explicit concept of bound vs unbounded intervals.
Pros:
::Union{T, Infinity}
seems a bit more intuitive to me... as we often useUnion{T, Missing}
orUnion{T, Nothing}
in other similar contexts?Cons:
The text was updated successfully, but these errors were encountered: