ghc-9.10.0.20240426: The GHC API
Safe HaskellNone
LanguageGHC2021

GHC.Data.OrdList

Description

Provide trees (of instructions), so that lists of instructions can be appended in linear time.

Synopsis

Documentation

data OrdList a Source #

Instances

Instances details
Functor OrdList Source # 
Instance details

Defined in GHC.Data.OrdList

Methods

fmap :: (a -> b) -> OrdList a -> OrdList b #

(<$) :: a -> OrdList b -> OrdList a #

Foldable OrdList Source # 
Instance details

Defined in GHC.Data.OrdList

Methods

fold :: Monoid m => OrdList m -> m #

foldMap :: Monoid m => (a -> m) -> OrdList a -> m #

foldMap' :: Monoid m => (a -> m) -> OrdList a -> m #

foldr :: (a -> b -> b) -> b -> OrdList a -> b #

foldr' :: (a -> b -> b) -> b -> OrdList a -> b #

foldl :: (b -> a -> b) -> b -> OrdList a -> b #

foldl' :: (b -> a -> b) -> b -> OrdList a -> b #

foldr1 :: (a -> a -> a) -> OrdList a -> a #

foldl1 :: (a -> a -> a) -> OrdList a -> a #

toList :: OrdList a -> [a] #

null :: OrdList a -> Bool #

length :: OrdList a -> Int #

elem :: Eq a => a -> OrdList a -> Bool #

maximum :: Ord a => OrdList a -> a #

minimum :: Ord a => OrdList a -> a #

sum :: Num a => OrdList a -> a #

product :: Num a => OrdList a -> a #

Traversable OrdList Source # 
Instance details

Defined in GHC.Data.OrdList

Methods

traverse :: Applicative f => (a -> f b) -> OrdList a -> f (OrdList b) #

sequenceA :: Applicative f => OrdList (f a) -> f (OrdList a) #

mapM :: Monad m => (a -> m b) -> OrdList a -> m (OrdList b) #

sequence :: Monad m => OrdList (m a) -> m (OrdList a) #

Outputable a => Outputable (OrdList a) Source # 
Instance details

Defined in GHC.Data.OrdList

Methods

ppr :: OrdList a -> SDoc Source #

Monoid (OrdList a) Source # 
Instance details

Defined in GHC.Data.OrdList

Methods

mempty :: OrdList a #

mappend :: OrdList a -> OrdList a -> OrdList a #

mconcat :: [OrdList a] -> OrdList a #

Semigroup (OrdList a) Source # 
Instance details

Defined in GHC.Data.OrdList

Methods

(<>) :: OrdList a -> OrdList a -> OrdList a #

sconcat :: NonEmpty (OrdList a) -> OrdList a #

stimes :: Integral b => b -> OrdList a -> OrdList a #

pattern NilOL :: OrdList a Source #

pattern ConsOL :: a -> OrdList a -> OrdList a Source #

pattern SnocOL :: OrdList a -> a -> OrdList a Source #

appOL :: OrdList a -> OrdList a -> OrdList a infixl 5 Source #

consOL :: a -> OrdList a -> OrdList a infixr 5 Source #

snocOL :: OrdList a -> a -> OrdList a infixl 5 Source #

mapOL :: (a -> b) -> OrdList a -> OrdList b Source #

mapOL' :: (a -> b) -> OrdList a -> OrdList b Source #

fromOL :: OrdList a -> [a] Source #

toOL :: [a] -> OrdList a Source #

foldrOL :: (a -> b -> b) -> b -> OrdList a -> b Source #

foldlOL :: (b -> a -> b) -> b -> OrdList a -> b Source #

Strict left fold.

partitionOL :: (a -> Bool) -> OrdList a -> (OrdList a, OrdList a) Source #

strictlyEqOL :: Eq a => OrdList a -> OrdList a -> Bool Source #

Compare not only the values but also the structure of two lists

strictlyOrdOL :: Ord a => OrdList a -> OrdList a -> Ordering Source #

Compare not only the values but also the structure of two lists