- Dr. Alistair Ward
- 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
- 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.
- class Consumer c where
- 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
- 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 the
The aggregate of the specified alternation of