| Safe Haskell | Safe | 
|---|---|
| Language | Haskell2010 | 
RegExDot.Consumer
Description
AUTHOR- Dr. Alistair Ward
 DESCRIPTION
- Define the requirements & capabilities of a data-type which is designed to consume data.
 - This module also facilitates investigation of group-behaviour, by defining operations on either concatenations or alternations of 
Consumers. - This module is specifically for use in a regex-engine, in which the meta-data from which the regex is composed, are considered to consume input data, whilst concatenation & alternation of such elements, behave as a different types of groups of consumer.
 
Synopsis
- class Consumer c where
- consumptionProfile :: c -> ConsumptionProfile
 - starHeight :: c -> StarHeight
 
 - accumulateConsumptionProfiles :: Consumer c => [c] -> AccumulatedConsumptionProfiles
 - aggregateConsumptionProfilesFromAlternatives :: Consumer c => [c] -> ConsumptionProfile
 - aggregateConsumptionProfilesFromConcatenation :: Consumer c => [c] -> ConsumptionProfile
 - getConsumptionBounds :: Consumer c => c -> ConsumptionBounds
 - getFewest :: Consumer c => c -> DataLength
 - getHasSpecificRequirement :: Consumer c => c -> Bool
 
Type-classes
class Consumer c where Source #
- The interface, to which types, which have a data-requirement, may conform.
 - Regrettably, methods requiring reference to the type of the consumable, would require multi-parameter type-classes.
 consumptionProfiledefines the quantity-range of data which may be consumed, & any specific data-requirements.starHeightmeasures the complexity of theConsumer.
Instances
Types
Type-synonyms
Functions
accumulateConsumptionProfiles :: Consumer c => [c] -> AccumulatedConsumptionProfiles Source #
Get the ConsumptionProfile for the specified list of Consumers, then accumulate them.
aggregateConsumptionProfilesFromAlternatives :: Consumer c => [c] -> ConsumptionProfile Source #
The aggregate of the specified alternation of ConsumptionProfiles.
aggregateConsumptionProfilesFromConcatenation :: Consumer c => [c] -> ConsumptionProfile Source #
Get the ConsumptionProfiles for the specified list of Consumers, then find the net effect of concatenating them.
Query
getConsumptionBounds :: Consumer c => c -> ConsumptionBounds Source #
Convenience-function, to query the ConsumptionBounds of a Consumer.
getFewest :: Consumer c => c -> DataLength Source #
Determine the minimum acceptable quantity of data.