| Copyright | (c) NoviSci Inc 2020 |
|---|---|
| License | BSD3 |
| Maintainer | bsaul@novisci.com |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Hasklepias.Types.Feature
Contents
Description
Synopsis
- data Show b => FeatureSpec b f e a d = FeatureSpec {
- getSpecName :: Text
- getSpecAttr :: b
- getDefn :: FeatureDefinition f e a d
- data Show b => Feature b d = Feature {
- getName :: Text
- getAttr :: b
- getData :: FeatureData d
- newtype FeatureData d = FeatureData {}
- data MissingReason
- data FeatureDefinition f e a d
- = EF (Events a -> FeatureData d)
- | FEF (FeatureData e -> Events a -> FeatureData d)
- | FFF (FeatureData f -> FeatureData e -> FeatureData d)
- defineEF :: Intervallic Interval a => MissingReason -> (Events a -> Maybe c) -> (c -> d) -> FeatureDefinition * e a d
- defineFEF :: Intervallic Interval a => MissingReason -> (e -> Events a -> d) -> FeatureDefinition * e a d
- defineFEF2 :: Intervallic Interval a => MissingReason -> (e -> Events a -> FeatureData d) -> FeatureDefinition * e a d
- defineFFF :: MissingReason -> MissingReason -> (f -> e -> d) -> FeatureDefinition f e * d
- applyEF :: FeatureDefinition * * a d -> Events a -> FeatureData d
- applyFEF :: FeatureDefinition * e a d -> FeatureData e -> Events a -> FeatureData d
- applyFFF :: FeatureDefinition f e * d -> FeatureData f -> FeatureData e -> FeatureData d
- featureR :: d -> FeatureData d
- featureL :: MissingReason -> FeatureData d
- evalEFFeature :: Show b => FeatureSpec b * * a d -> Events a -> Feature b d
- evalFEFFeature :: Show b => FeatureSpec b * e a d -> Feature b e -> Events a -> Feature b d
- evalFFFFeature :: Show b => FeatureSpec b f e * d -> Feature b f -> Feature b e -> Feature b d
Types
data Show b => FeatureSpec b f e a d Source #
A FeatureSpec contains all the information needed to derive a Feature:
* its name
* its attributes
* the function needed to derive a feature (i.e. the FeatureDefinition)
Constructors
| FeatureSpec | |
Fields
| |
data Show b => Feature b d Source #
A Feature contains the following:
* a name
* its attributes
* FeatureData
newtype FeatureData d Source #
FeatureData is , where Either MissingReason dd can be any type
of data derivable from Events.
Constructors
| FeatureData | |
Fields | |
Instances
data MissingReason Source #
A Feature may be missing for any number of reasons.
Constructors
| InsufficientData | |
| Excluded | |
| Other Text | |
| Unknown |
Instances
data FeatureDefinition f e a d Source #
A type to hold common FeatureData definitions; i.e. functions that return features.
Constructors
| EF (Events a -> FeatureData d) | |
| FEF (FeatureData e -> Events a -> FeatureData d) | |
| FFF (FeatureData f -> FeatureData e -> FeatureData d) |
Arguments
| :: Intervallic Interval a | |
| => MissingReason | The reason if |
| -> (Events a -> Maybe c) | A function that maps events to an some intermediary Maybe type.
In the case that this function returns |
| -> (c -> d) | A function that transforms the intermediary data to the desired type. |
| -> FeatureDefinition * e a d |
Define an EF FeatureDefinition
Arguments
| :: Intervallic Interval a | |
| => MissingReason | |
| -> (e -> Events a -> d) | A function that tranforms the data of a |
| -> FeatureDefinition * e a d |
TODO
Arguments
| :: Intervallic Interval a | |
| => MissingReason | |
| -> (e -> Events a -> FeatureData d) | A function that tranforms the data of a |
| -> FeatureDefinition * e a d |
TODO
defineFFF :: MissingReason -> MissingReason -> (f -> e -> d) -> FeatureDefinition f e * d Source #
TODO
applyEF :: FeatureDefinition * * a d -> Events a -> FeatureData d Source #
Extract an EF FeatureDefinition.
applyFEF :: FeatureDefinition * e a d -> FeatureData e -> Events a -> FeatureData d Source #
Extract a FEF FeatureDefinition
applyFFF :: FeatureDefinition f e * d -> FeatureData f -> FeatureData e -> FeatureData d Source #
Extract a FFF FeatureDefinition
featureL :: MissingReason -> FeatureData d Source #
evalEFFeature :: Show b => FeatureSpec b * * a d -> Events a -> Feature b d Source #
TODO
evalFEFFeature :: Show b => FeatureSpec b * e a d -> Feature b e -> Events a -> Feature b d Source #
TODO
evalFFFFeature :: Show b => FeatureSpec b f e * d -> Feature b f -> Feature b e -> Feature b d Source #
TODO