Îõ³h$1 .ü      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{*Implementation of Allen's interval algebra(c) NoviSci, Inc 2020BSD3bsaul@novisci.com experimentalNone >ÀÁÂÄÙì"Äinterval-algebraThe ( class provides functions for filtering |s of R s based on  relations.interval-algebra#Creates a function for filtering a | of  Interval as based on a predicateinterval-algebra Filter a | of  Interval as to those that - the  Interval a in the first argument.interval-algebra Filter a | of  Interval a s to those . the  Interval a in the first argument.interval-algebra Filter a | of Interval as to those + the  Interval a in the first argument.interval-algebra Filter a | of Interval as to those , the  Interval a in the first argument.interval-algebra Filter a | of Interval as to those that ) the  Interval a in the first argument.interval-algebra Filter a | of Interval as to those * the  Interval a in the first argument.interval-algebra Filter a | of Interval as to those 5 the  Interval a in the first argument. interval-algebra Filter a | of Interval as to those that 6 the  Interval a in the first argument. interval-algebra Filter a |" of Interval as to those that are ; from the  Interval a in the first argument. interval-algebra Filter a |" of Interval as to those that are < from the  Interval a in the first argument. interval-algebra Filter a |" of Interval as to those that are = the  Interval a in the first argument. interval-algebraThe  9 typeclass provides methods for (possibly) combining two Rs.interval-algebraMaybe form a new R by the union of two Rs that ).interval-algebraCreates a new Interval spanning the extent x and yinterval-algebraIf x is + y, then form a new Just Interval a, from the interval in the "gap" between x and y from the B of x to the A of y . Otherwise, }.interval-algebraIf x is + y , return f x appended to f y. Otherwise, return  of x and y (wrapped in fÈ). This is useful for (left) folding over an *ordered* container of Interval#s and combining intervals when x is *not* + y.interval-algebraForms a ~â new interval from the intersection of two intervals, provided the intervals are not disjoint.interval-algebraThe Õ typeclass provides functions to determine the size of and to resize an 'Interval a'.interval-algebra*Determine the duration of an 'Interval a'.interval-algebra Shifts an a. Most often, the b will be the same type as a. But for example, if a is  then b could be €.interval-algebra!Takes the difference between two a to return a b.interval-algebra4Resize an 'Interval a' to by expanding to "left" by l and to the "right" by r. In the case that l or r are less than a , the respective endpoints are unchanged. interval-algebra%Expands an 'Interval a' to left by i.interval-algebra&Expands an 'Interval a' to right by i.interval-algebra%Safely creates an 'Interval a' using x as the A and adding max moment dur to x as the B.interval-algebra%Safely creates an 'Interval a' using x as the B and adding negate max moment dur to x as the A.interval-algebraThe 9 class fixes the smallest duration of an 'Intervallic a'.interval-algebraThe Ä typeclass specifies the functions and relational operators for interval-based temporal logic. The typeclass defines the relational operators for intervals, plus other useful utilities such as ;, =, and 7.interval-algebra)Compare two intervals to determine their D. interval-algebraMaps an D) to its corresponding predicate function.!interval-algebraGiven a set of D s return a List of ". functions corresponding to each relation."interval-algebra6Forms a predicate function from the union of a set of Ds.#interval-algebra5Shortcut to creating a 'Set IntervalRelation' from a List.$interval-algebra1Finds the complement of a 'Set IntervalRelation'.%interval-algebraFind the intersection of two s of D&interval-algebraFind the union of two s of D'interval-algebra/Find the converse of a 'Set IntervalRelation'. (interval-algebraDoes x equal y?)interval-algebraDoes x meet y? Is y metBy x?*interval-algebraDoes x meet y? Is y metBy x?+interval-algebraIs x before y? Is x after y?,interval-algebraIs x before y? Is x after y?-interval-algebra'Does x overlap y? Is x overlapped by y?.interval-algebra'Does x overlap y? Is x overlapped by y?/interval-algebra"Does x start y? Is x started by y?0interval-algebra"Does x start y? Is x started by y?1interval-algebra Synonyms for / and 02interval-algebra Synonyms for / and 03interval-algebra$Does x finish y? Is x finished by y?4interval-algebra$Does x finish y? Is x finished by y?5interval-algebra Is x during y? Does x contain y?6interval-algebra Is x during y? Does x contain y?7interval-algebraÀCompose a list of interval relations with _or_ to create a new C R a. For example, unionPredicates [before, meets]æ creates a predicate function determining if one interval is either before or meets another interval.8interval-algebra2Operator for composing the union of two predicates;interval-algebraAre x and y disjoint (+, ,, ), or *)?<interval-algebra9Are x and y not disjoint; i.e. do they share any support?=interval-algebra8Is x wholly within y (including endpoints) in any sense 5, /, 3, or (?>interval-algebraThe > typeclass specifies how an R a=s is constructed. It also includes functions for getting the A and B of an R a.?interval-algebraSafely parse a pair of as to create an R a.@interval-algebra Create a new R a. This function is not* safe as it does not enforce that x < yŸ. Use with caution. It is meant to be helper function in early prototyping of this package. This function may be deprecated in future releases.Ainterval-algebraAccess the ends of an R a .Binterval-algebraAccess the ends of an R a .Cinterval-algebra+Defines a predicate of two objects of type a.Dinterval-algebraThe D6 type enumerates the thirteen possible ways that two R a6 objects can relate according to the interval algebra. Meets, Metby x `meets` y y `metBy` x x: |-----| y: |-----|  Before, After x `before` y y `after` x !x: |-----| y: |-----| Overlaps, OverlappedBy !x `overlaps` y y `overlappedBy` x x: |-----| y: |-----| Starts, StartedBy x `starts` y y `startedBy` x x: |---| y: |-----| Finishes, FinishedBy x `finishes` y y `finishedBy` x x: |---| y: |-----| During, Contains x `during` y y `contains` x x: |-| y: |-----| Equal x `equal` y y `equal` x x: |-----| y: |-----| Rinterval-algebraAn R a is a pair of as  (x, y) \text{ where } x < y. The > class provides a safe ? function that returns a ‚ error if y < x and @À as constructor for creating an interval that may not be valid. Zinterval-algebraImposes a total ordering on R a! based on first ordering the A s then the Bs.Ó =8$&;%(-+,)*./03456 !"7#'129:<>?@ABCDIEFGHJKLMNOPQRÓ>?@AB=8$&;%(-+,)*./03456 !"7#'129:<  RDIEFGHJKLMNOPQC,Functions for generating arbitrary intervals(c) NoviSci, Inc 2020BSD3bsaul@novisci.com experimentalNone>À#D3Functions for operating on containers of Intervals.(c) NoviSci, Inc 2020BSD3bsaul@novisci.com experimentalNone>?À-Ì qinterval-algebra§Returns a list of intervals where any intervals that meet or share support are combined into one interval. *To work properly, the input list should be sorted*. ÆcombineIntervals [intInt 0 10, intInt 2 7, intInt 10 12, intInt 13 15][(0, 12),(13, 15)]rinterval-algebra Returns a (possibly empty) list of intervals consisting of the gaps between intervals in the input list. *To work properly, the input list should be sorted*.sinterval-algebra Returns the  of each R in the ƒ f.0durations [intInt 1 10, intInt 2 12, intInt 5 6][9,10,1]tinterval-algebraÂIn the case that x y are not disjoint, clips y to the extent of x.clip (intInt 0 5) (intInt 3 6) Just (3, 5)clip (intInt 0 3) (intInt 4 6)Nothinguinterval-algebra Finds the D, between each consecutive pair of intervals."relations [intInt 0 1, intInt 1 2][Meets]vinterval-algebraApplies r& to all the non-disjoint intervals in x that are *not* disjoint from i. Intervals that - or are . i are tped to i.?gapsWithin (intInt 1 10) [intInt 0 5, intInt 7 9, intInt 12 15][(5, 7),(9, 10)]winterval-algebraGiven a predicate combinator, a predicate, and list of intervals, returns the input unchanged if the predicate combinator is True+. Otherwise, returns an empty list. See y and x for examples.xinterval-algebraèReturns the empty monoid structure if *none* of the element of input satisfy the predicate condition.ãFor example, the following returns the empty list because none of the intervals in the input list / (3, 5).:emptyIfNone (starts (intInt 3 5)) [intInt 3 4, intInt 5 6][]In the following, (3, 5) /" (3, 6), so the input is returned.:emptyIfNone (starts (intInt 3 5)) [intInt 3 6, intInt 5 6][(3, 6),(5, 6)]yinterval-algebraæReturns the empty monoid structure if *any* of the element of input satisfy the predicate conditionzinterval-algebraæReturns the empty monoid structure if *all* of the element of input satisfy the predicate conditionvinterval-algebraiinterval-algebraxwinterval-algebrae.g. „ or …interval-algebra0predicate to apply to each element of input listxinterval-algebra0predicate to apply to each element of input listyinterval-algebra0predicate to apply to each element of input listzinterval-algebra0predicate to apply to each element of input list qrstuvwxyz qrstuvwxyz Safe-Inferred.†‡ˆ‰Š‹ŒŽ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†„…‡ˆ‰Š‹ŒŽ„‘’„“”„•–„•—˜™š›œžŸ -interval-algebra-0.4.0-42jrEP4EU9TCbYnj4oGxGGIntervalAlgebraIntervalAlgebra.Arbitrary!IntervalAlgebra.IntervalUtilitiesPaths_interval_algebraIntervalFilterable filterMakerfilterOverlapsfilterOverlappedBy filterBefore filterAfter filterMeets filterMetBy filterDuringfilterContainsfilterDisjointfilterNotDisjoint filterWithinIntervalCombinable.+. extenterval><<+> intersectIntervalSizeabledurationadddiffexpandexpandlexpandr beginervalendervalMomentmomentIntervalAlgebraicrelate predicate' predicates predicatetoSet complement intersectionunionconverseequalsmeetsmetBybeforeafteroverlaps overlappedBystarts startedByprecedes precededByfinishes finishedByduringcontainsunionPredicates<|>disjointRelationswithinRelationsdisjoint notDisjointwithin Intervallic parseIntervalunsafeIntervalbeginendComparativePredicateOfIntervalRelationMeetsMetByBeforeAfterOverlaps OverlappedByStarts StartedByFinishes FinishedByDuringContainsEqualsInterval$fOrdIntervalRelation$fEnumIntervalRelation$fBoundedIntervalRelation$fIntervallicDay$fIntervallicInteger$fIntervallicInt$fShowInterval $fOrdInterval$fIntervalAlgebraicDay$fIntervalAlgebraicInteger$fIntervalAlgebraicInt$fMomentDayInteger$fMomentIntegerInteger$fMomentIntInt$fIntervalSizeableDayInteger $fIntervalSizeableIntegerInteger$fIntervalSizeableIntInt$fIntervalCombinableDay$fIntervalCombinableInteger$fIntervalCombinableInt$fIntervalFilterable[]Day$fIntervalFilterable[]Integer$fIntervalFilterable[]Int$fEqIntervalRelation$fShowIntervalRelation$fReadIntervalRelation $fEqInterval$fArbitraryInterval$fArbitraryDay$fArbitraryInterval0combineIntervalsgaps durationsclip relations gapsWithinemptyIf emptyIfNone emptyIfAny emptyIfAll$fSemigroupBox'witherable-0.4.1-8uH4Z4eydB8I1J1GFp0Bu3 Witherable Filterablebase GHC.MaybeNothingJust time-1.9.3Data.Time.Calendar.DaysDayghc-prim GHC.TypesIntcontainers-0.6.2.1Data.Set.InternalSet Data.EitherLeftGHC.BaseFunctor Data.Foldableanyallversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName