Safe Haskell | None |
---|---|
Language | Haskell2010 |
A queue of passive critical pairs, using a memory-efficient representation.
- class (Eq (Id params), Integral (Id params), Ord (Score params), Unbox (PackedScore params), Unbox (PackedId params)) => Params params where
- type Score params
- type Id params
- type PackedScore params
- type PackedId params
- data Queue params
- data Passive params = Passive {
- passive_score :: !(Score params)
- passive_rule1 :: !(Id params)
- passive_rule2 :: !(Id params)
- passive_pos :: !Int
- empty :: Queue params
- insert :: Params params => Id params -> [Passive params] -> Queue params -> Queue params
- removeMin :: Params params => Queue params -> Maybe (Passive params, Queue params)
- mapMaybe :: Params params => (Passive params -> Maybe (Passive params)) -> Queue params -> Queue params
Documentation
class (Eq (Id params), Integral (Id params), Ord (Score params), Unbox (PackedScore params), Unbox (PackedId params)) => Params params where Source #
A datatype representing all the type parameters of the queue.
The score assigned to critical pairs. Smaller scores are better.
The type of ID numbers used to name rules.
type PackedScore params Source #
packScore :: proxy params -> Score params -> PackedScore params Source #
Pack a Score
.
unpackScore :: proxy params -> PackedScore params -> Score params Source #
Unpack a PackedScore
.
packId :: proxy params -> Id params -> PackedId params Source #
Pack an Id
.
unpackId :: proxy params -> PackedId params -> Id params Source #
Unpack a PackedId
.
A queued critical pair.
Passive | |
|
insert :: Params params => Id params -> [Passive params] -> Queue params -> Queue params Source #
Add a set of Passive
s to the queue.