Safe Haskell | None |
---|---|
Language | Haskell2010 |
A queue of passive critical pairs, using a memory-efficient representation.
Synopsis
- 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
- packScore :: proxy params -> Score params -> PackedScore params
- unpackScore :: proxy params -> PackedScore params -> Score params
- packId :: proxy params -> Id params -> PackedId params
- unpackId :: proxy params -> PackedId params -> Id 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
- toList :: Params params => Queue params -> [(Int, [Passive params])]
- queueSize :: Params params => Queue params -> Int
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 | |
|
Instances
Params params => Eq (Passive params) Source # | |
Params params => Ord (Passive params) Source # | |
Defined in Twee.PassiveQueue compare :: Passive params -> Passive params -> Ordering # (<) :: Passive params -> Passive params -> Bool # (<=) :: Passive params -> Passive params -> Bool # (>) :: Passive params -> Passive params -> Bool # (>=) :: Passive params -> Passive params -> Bool # |
insert :: Params params => Id params -> [Passive params] -> Queue params -> Queue params Source #
Add a set of Passive
s to the queue.
removeMin :: Params params => Queue params -> Maybe (Passive params, Queue params) Source #
Remove the minimum Passive
from the queue.
mapMaybe :: Params params => (Passive params -> Maybe (Passive params)) -> Queue params -> Queue params Source #
Map a function over all Passive
s.