Ξυ³h$8ί5Άƒ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚*Implementation of Allen's interval algebra(c) NoviSci, Inc 2020BSD3bsaul@novisci.com experimentalNoneΑΒΔΩμP;interval-algebraThe 9 typeclass provides methods for (possibly) combining two Is.interval-algebraMaybe form a new I by the union of two Is 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 9 of x to the 8 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 8 and adding max moment dur to x as the 9.interval-algebra%Safely creates an 'Interval a' using x as the 9 and adding negate max moment dur to x as the 8.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 /, 2, and +.interval-algebra)Compare two intervals to determine their ;.interval-algebraMaps an ;) to its corresponding predicate function.interval-algebraGiven a set of ;s return a list of . functions corresponding to each relation.interval-algebra6Forms a predicate function from the union of a set of ;s.interval-algebra:Shortcut to creating a 'Set IntervalRelation' from a list.interval-algebraοCompose two interval relations according to the rules of the algebra. The rules are enumerated according to  Δhttps://thomasalspaugh.org/pub/fnd/allen.html#BasicCompositionsTable this table.interval-algebra1Finds the complement of a 'Set IntervalRelation'.interval-algebraFind the intersection of two ‡s of ;interval-algebraFind the union of two ‡s of ;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?$interval-algebra"Does x start y? Is x started by y?%interval-algebra Synonyms for # and $&interval-algebra Synonyms for # and $'interval-algebra$Does x finish y? Is x finished by y?(interval-algebra$Does x finish y? Is x finished by y?)interval-algebra Is x during y? Does x contain y?*interval-algebra Is x during y? Does x contain y?+interval-algebraΐCompose a list of interval relations with _or_ to create a new : I a. For example, unionPredicates [before, meets]ζ creates a predicate function determining if one interval is either before or meets another interval.,interval-algebra2Operator for composing the union of two predicates/interval-algebraAre x and y disjoint (,  , , or )?0interval-algebra9Are x and y not disjoint; i.e. do they share any support?1interval-algebraA synonym for 0.2interval-algebra4Is x entirely *within* the endpoints of y? That is, ), #, ', or ?3interval-algebra Does x enclose y? That is, is y 2 x?4interval-algebra Synonym for 2.5interval-algebraThe 5 typeclass specifies how an I a=s is constructed. It also includes functions for getting the 8 and 9 of an I a.6interval-algebraSafely parse a pair of as to create an I a.7interval-algebra Create a new I 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.8interval-algebraAccess the ends of an I a .9interval-algebraAccess the ends of an I a .:interval-algebra+Defines a predicate of two objects of type a.;interval-algebraThe ;6 type enumerates the thirteen possible ways that two I 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: |-----| Iinterval-algebraAn I a is a pair of as  (x, y) \text{ where } x < y. The 5 class provides a safe 6 function that returns a ˆ error if y < x and 7ΐ as constructor for creating an interval that may not be valid. Qinterval-algebraImposes a total ordering on I a! based on first ordering the 8 s then the 9s.Κ   2,/! "#$'()*+%&-.013456789:;@<=>?ABCDEFGHIΚ567892,/! "#$'()*+%&-.0134   I;@<=>?ABCDEFGH:,Functions for generating arbitrary intervals(c) NoviSci, Inc 2020BSD3bsaul@novisci.com experimentalNone>ΐn3Functions for operating on containers of Intervals.(c) NoviSci, Inc 2020BSD3bsaul@novisci.com experimentalNone>ΐ5<einterval-algebra«Returns a container of intervals where any intervals that meet or share support are combined into one interval. *To work properly, the input should be sorted*. See f( for a version that works only on lists.ΖcombineIntervals [intInt 0 10, intInt 2 7, intInt 10 12, intInt 13 15][(0, 12),(13, 15)]finterval-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)]ginterval-algebra€Returns a (possibly empty) container of intervals consisting of the gaps between intervals in the input. *To work properly, the input should be sorted*. See h# for a version that returns a list.,gaps [intInt 1 5, intInt 8 12, intInt 11 14][(5, 8)]hinterval-algebraΖReturns a (possibly empty) list of intervals consisting of the gaps between intervals in the input container. *To work properly, the input should be sorted*. This version outputs a list. See gΐ for a version that lifts the result to same input structure f.iinterval-algebra Returns the  of each I in the ‰ f.0durations [intInt 1 10, intInt 2 12, intInt 5 6][9,10,1]jinterval-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)Nothingkinterval-algebraReturns a list of the ;Ξ between each consecutive pair of intervals. This the specialized form of l which can return any Š, ‹ structure."relations [intInt 0 1, intInt 1 2][Meets]linterval-algebraA generic form of k which can output any Š and ‹Ϊ structure. >>> (relations' [intInt 0 1, intInt 1 2]) :: [IntervalRelation Int] [Meets]minterval-algebraApplies g& to all the non-disjoint intervals in x that are *not* disjoint from i. Intervals that ! or are " i are j ped to i , so that all the intervals are 2 i. If there are no gaps, then ƒ is returned.?gapsWithin (intInt 1 10) [intInt 0 5, intInt 7 9, intInt 12 15]Just [(5, 7),(9, 10)]ninterval-algebraGiven 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  emptyIfAny and  emptyIfNone for examples.ointerval-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).?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Šˆ‰‹ŒŽ‘’“”ˆ•–ˆ—˜ˆ—™ˆ—š›œˆžŸˆž ‘’£€₯¦§¨©,interval-algebra-0.5.0-Y8BHNdq4Y6BAHcNSB13EdIntervalAlgebraIntervalAlgebra.Arbitrary!IntervalAlgebra.IntervalUtilitiesPaths_interval_algebraIntervalCombinable.+. extenterval><<+> intersectIntervalSizeabledurationadddiffexpandexpandlexpandr beginervalendervalMomentmomentIntervalAlgebraicrelate predicate' predicates predicatetoSetcompose complement intersectionunionconverseequalsmeetsmetBybeforeafteroverlaps overlappedBystarts startedByprecedes precededByfinishes finishedByduringcontainsunionPredicates<|>disjointRelationswithinRelationsdisjoint notDisjointconcurwithinenclose enclosedBy 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$fEqIntervalRelation$fShowIntervalRelation$fReadIntervalRelation $fEqInterval$fArbitraryInterval$fArbitraryDay$fArbitraryInterval0combineIntervalscombineIntervals'gapsgaps' durationsclip relations relations' gapsWithin nothingIf nothingIfNone nothingIfAny nothingIfAllfilterOverlapsfilterOverlappedBy filterBefore filterAfter filterStartsfilterStartedByfilterFinishesfilterFinishedBy filterMeets filterMetBy filterDuringfilterContains filterEqualsfilterDisjointfilterNotDisjoint filterWithin$fSemigroupBoxbase GHC.MaybeNothingJust time-1.9.3Data.Time.Calendar.DaysDayghc-prim GHC.TypesIntcontainers-0.6.2.1Data.Set.InternalSet Data.EitherLeftGHC.BaseFunctor ApplicativeMonoid'witherable-0.4.1-8uH4Z4eydB8I1J1GFp0Bu3 Witherable Filterable Data.Foldableanyallversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName