Copyright | (c) NoviSci Inc 2020 |
---|---|
License | BSD3 |
Maintainer | bsaul@novisci.com |
Safe Haskell | Safe |
Language | Haskell2010 |
Synopsis
- type Event a = PairedInterval Context a
- type Events a = [Event a]
- type ConceptEvent a = PairedInterval Concepts a
- event :: Interval a -> Context -> Event a
- ctxt :: Event a -> Context
- toConceptEvent :: (Show a, Ord a) => Event a -> ConceptEvent a
- toConceptEventOf :: (Show a, Ord a) => [Concept] -> Event a -> ConceptEvent a
- mkConceptEvent :: (Show a, Ord a) => Interval a -> Concepts -> ConceptEvent a
Documentation
type Event a = PairedInterval Context a Source #
An Event a
is simply a pair (Interval a, Context)
.
type Events a = [Event a] Source #
A List
of Event a
NOTE (20190911): I (B. Saul) am starting out the Events type as a list of the Event type. This may be not be the optimal approach, especially with regards to lookup/filtering the list. Ideally, we could do one pass through the ordered container (whatever it is) to identify events by concept; rather than repeated evaluations of the lookup predicates. This could be handled by, for example, representing Events has a Map with a list of concept indices. But this gets us off the ground.
type ConceptEvent a = PairedInterval Concepts a Source #
An event containing only concepts and an interval
toConceptEvent :: (Show a, Ord a) => Event a -> ConceptEvent a Source #
Drops an Event
to a ConceptEvent
by moving the concepts in the data
position in the paired interval and throwing out the facts and source.
toConceptEventOf :: (Show a, Ord a) => [Concept] -> Event a -> ConceptEvent a Source #
mkConceptEvent :: (Show a, Ord a) => Interval a -> Concepts -> ConceptEvent a Source #
Orphan instances
HasConcept (ConceptEvent a) Source # | |
hasConcept :: ConceptEvent a -> Text -> Bool Source # hasConcepts :: ConceptEvent a -> [Text] -> Bool Source # hasAllConcepts :: ConceptEvent a -> [Text] -> Bool Source # | |
HasConcept (Event a) Source # | |