Changelog for interval-patterns-0.3.0.1
Revision history for interval-patterns
0.3.0.1 - 2022-06-08
- expose
Data.Calendar
lol
0.3.0.0 - 2022-06-08
- new pattern synonym
(:---:) :: (Ord x) => Levitated x -> Levitated x -> Interval x
- only works as a pattern; cannot be used as an expression
- disregards the open/closedness of the boundary
- fix
openclosed
andclosedopen
- rename
imapS -> imapLev
anditraverseS -> itraverseLev
followingSuspension -> Levitated
(...)
as a value-level analogue tointerval
Data.Interval.isSubsetOf
Data.Interval.Borel.isSubsetOf
Data.Interval.Layers.difference
Data.Interval.Layers.clip
Data.Interval.Layers.toStepFunction
Data.Calendar.happeningAt
0.2.0.1 - 2022-05-30
- export
clip
fromData.Interval.Borel
0.2.0.0 - 2022-05-30
- generalize
Layers
to arbitraryNum
types andCalendar
to arbitraryReal
types
0.1.0.0 - 2022-05-19
- constructors behave more intuitively
- if the endpoints are equal, it becomes a closed interval
- when endpoints are reversed, using a smart constructor preserves the declared endpoint boundaries
(e.g.
6 :|>: 4
becomes4 :<|: 6
)
- tests
0.0.11.0 - 2022-03-08
- drop
Data.Suspension
entirely in favour ofAlgebra.Lattice.Levitated
- rename
Data.Interval.{Set => Borel}
and add Lattice/Ring/Heyting instances - explicit exports for
Data.OneOrTwo
0.0.10.2 -- 2022-02-22
- fix
Enum
forSuspension
0.0.10.1 -- 2022-02-15
- add
Layers.remove
andLayers.baseline
0.0.10.0 -- 2022-02-15
- add dependency
group-theory
instance Monoid Suspension
now lifts monoids only- add
instance Group x => Group (Suspension x)
Data.Interval.unions
now sorts the list first; addunionsAsc
Covering.unionsSet
usesfrom/toAscList
andunionsAsc
instance Group y => Group (Layers x y)
instance Functor Layers
nesting
now sorts the list first; addnestingAsc
Semigroup Layers
usesnestingAsc
0.0.9.0 -- 2022-02-15
Layers
is now a two-parameter type, andnestings
supports arbitrary semigroups instead of the previous restriction toInt
.- drop
multiset
dependency as a result type Event = Layers UTCTime (Sum Int)
0.0.8.0 -- 2022-02-15
- switch definitions of
lower
andlowerBound
,upper
andupperBound
- universal
Bounded
and liftedEnum
for Suspension (Data.Interval.\\)
- change names from
IntervalSet -> Covering
andIntervalLayer -> Layers
- rename
Covering.intervals
toCovering.covering
("smart constructor")
0.0.7.1 -- 2022-02-13
imapS
anditraverseS
0.0.7.0 -- 2022-02-13
- introduce strictness annotations for
Suspension
,Interval
, andAdjacency
0.0.6.1 -- 2022-02-13
- fix
Num
instance forSuspension
0.0.6.0 -- 2022-02-13
- remove
AdjacencyRepr
(don't need a type parameter you're just gonna hide) - amalgamate
split
intoadjacency
- no need for weird import chain, define everything in
Data.Interval
0.0.5.0 -- 2022-02-12
Data.Interval.Layered
provides a monoid likeIntervalSet
, but that will keep track of the number of times a particular interval has been added to the structure. This is useful for determining, e.g., how many clones you need to attend all today's meetings on time.
0.0.4.0 -- 2022-02-12
- Rename project
Revision history for timeframes
0.0.3.0 -- 2022-02-12
- Drop
orient
, puttingOrd
constraints on the constructors ofInterval
and leaving the ordering to the smart constructors - Rewrite
intersection
,union
, anddifference
usingsplit
- Settle on changelog format
- move
withBounds
toData.Interval
0.0.2.0 -- 2022-02-12
- Drop
UpToThree
in favour of a more dependently-typed model of adjacency Overlap
is changed toAdjacency
where it occurssplit
now returnsSomeAdjacency
, which can be pattern-matched to yield the exact (one, two, or three) intervals into which the two have been cleavedInterval
moved intoData.Interval.Types
to avoid a cyclic dependency betweenData.Interval
andData.Interval.Adjacency
0.0.1.0 -- 2022-02-08
Types and functions for working with intervals and their monoid under union.
Data.Suspension
provides the two-point extension of a type, used for marking the endpoints of intervals.Data.Interval
defines theInterval
type, along with type- and value-level structures for working with closed and open endpoints.overlap
calculates the relationship between intervals according to Allen`s interval algebra.split
separates two intervals into one, two, or three parts, depending on their overlap.