ghc-9.6.3: The GHC API

Safe Haskell | Safe-Inferred
Language | Haskell2010

GHC.Data.OrdList

Description

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

Synopsis

- data OrdList a
- pattern NilOL :: OrdList a
- pattern ConsOL :: a -> OrdList a -> OrdList a
- pattern SnocOL :: OrdList a -> a -> OrdList a
- nilOL :: OrdList a
- isNilOL :: OrdList a -> Bool
- unitOL :: a -> OrdList a
- appOL :: OrdList a -> OrdList a -> OrdList a
- consOL :: a -> OrdList a -> OrdList a
- snocOL :: OrdList a -> a -> OrdList a
- concatOL :: [OrdList a] -> OrdList a
- lastOL :: OrdList a -> a
- headOL :: OrdList a -> a
- mapOL :: (a -> b) -> OrdList a -> OrdList b
- mapOL' :: (a -> b) -> OrdList a -> OrdList b
- fromOL :: OrdList a -> [a]
- toOL :: [a] -> OrdList a
- foldrOL :: (a -> b -> b) -> b -> OrdList a -> b
- foldlOL :: (b -> a -> b) -> b -> OrdList a -> b
- reverseOL :: OrdList a -> OrdList a
- fromOLReverse :: OrdList a -> [a]
- strictlyEqOL :: Eq a => OrdList a -> OrdList a -> Bool
- strictlyOrdOL :: Ord a => OrdList a -> OrdList a -> Ordering

# Documentation

data OrdList a Source #

#### Instances

Instances details

Foldable OrdList Source # |

Instance details

Defined in GHC.Data.OrdList

Methods

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

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

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

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

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

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

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

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

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

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

null :: OrdList a -> Bool Source #

length :: OrdList a -> Int Source #

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

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

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

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

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

Traversable OrdList Source # |
Instance details Defined in GHC.Data.OrdList Methods traverse :: Applicative f => (a -> f b) -> OrdList a -> f (OrdList b) Source # sequenceA :: Applicative f => OrdList (f a) -> f (OrdList a) Source # mapM :: Monad m => (a -> m b) -> OrdList a -> m (OrdList b) Source # sequence :: Monad m => OrdList (m a) -> m (OrdList a) Source #
Functor OrdList Source # |
Instance details Defined in GHC.Data.OrdList Methods fmap :: (a -> b) -> OrdList a -> OrdList b Source # (<$) :: a -> OrdList b -> OrdList a Source #
Monoid (OrdList a) Source # |
Instance details Defined in GHC.Data.OrdList Methods mempty :: OrdList a Source # mappend :: OrdList a -> OrdList a -> OrdList a Source # mconcat :: [OrdList a] -> OrdList a Source #
Semigroup (OrdList a) Source # |
Instance details Defined in GHC.Data.OrdList Methods (<>) :: OrdList a -> OrdList a -> OrdList a Source # sconcat :: NonEmpty (OrdList a) -> OrdList a Source # stimes :: Integral b => b -> OrdList a -> OrdList a Source #
Outputable a => Outputable (OrdList a) Source # |
Instance details Defined in GHC.Data.OrdList Methods ppr :: OrdList a -> SDoc Source #

pattern NilOL :: OrdList a Source #

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

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

nilOL :: OrdList a Source #

isNilOL :: OrdList a -> Bool Source #

unitOL :: 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 #

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

lastOL :: OrdList a -> a Source #

headOL :: OrdList a -> a 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.

reverseOL :: OrdList a -> OrdList a Source #

fromOLReverse :: OrdList a -> [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