| Safe Haskell | Safe-Inferred | 
|---|---|
| Language | Haskell2010 | 
Data.Monoid.Instances.Concat
Description
This module defines the monoid transformer data type Concat.
Documentation
ConcatConcat aa instances, up to the pure isomorphism.
The only purpose of Concat then is to change the performance characteristics of various operations. Most
 importantly, injecting a monoid into Concat has the effect of making mappend a constant-time operation. The
 splitPrimePrefix and splitPrimeSuffix operations are amortized to constant time, provided that only one or the
 other is used. Using both operations alternately will trigger the worst-case behaviour of O(n).
Instances
| Applicative Concat # | |
| Functor Concat # | |
| Foldable Concat # | |
| Defined in Data.Monoid.Instances.Concat Methods fold :: Monoid m => Concat m -> m # foldMap :: Monoid m => (a -> m) -> Concat a -> m # foldMap' :: Monoid m => (a -> m) -> Concat a -> m # foldr :: (a -> b -> b) -> b -> Concat a -> b # foldr' :: (a -> b -> b) -> b -> Concat a -> b # foldl :: (b -> a -> b) -> b -> Concat a -> b # foldl' :: (b -> a -> b) -> b -> Concat a -> b # foldr1 :: (a -> a -> a) -> Concat a -> a # foldl1 :: (a -> a -> a) -> Concat a -> a # elem :: Eq a => a -> Concat a -> Bool # maximum :: Ord a => Concat a -> a # minimum :: Ord a => Concat a -> a # | |
| PositiveMonoid a => Monoid (Concat a) # | |
| PositiveMonoid a => Semigroup (Concat a) # | |
| Data a => Data (Concat a) # | |
| Defined in Data.Monoid.Instances.Concat Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Concat a -> c (Concat a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Concat a) # toConstr :: Concat a -> Constr # dataTypeOf :: Concat a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Concat a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Concat a)) # gmapT :: (forall b. Data b => b -> b) -> Concat a -> Concat a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Concat a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Concat a -> r # gmapQ :: (forall d. Data d => d -> u) -> Concat a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Concat a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Concat a -> m (Concat a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Concat a -> m (Concat a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Concat a -> m (Concat a) # | |
| IsString a => IsString (Concat a) # | |
| Defined in Data.Monoid.Instances.Concat Methods fromString :: String -> Concat a # | |
| Show a => Show (Concat a) # | |
| (Eq a, Semigroup a) => Eq (Concat a) # | |
| (Ord a, Semigroup a) => Ord (Concat a) # | |
| Defined in Data.Monoid.Instances.Concat | |
| (FactorialMonoid a, PositiveMonoid a) => FactorialMonoid (Concat a) # | |
| Defined in Data.Monoid.Instances.Concat Methods splitPrimePrefix :: Concat a -> Maybe (Concat a, Concat a) # splitPrimeSuffix :: Concat a -> Maybe (Concat a, Concat a) # inits :: Concat a -> [Concat a] # tails :: Concat a -> [Concat a] # span :: (Concat a -> Bool) -> Concat a -> (Concat a, Concat a) # break :: (Concat a -> Bool) -> Concat a -> (Concat a, Concat a) # split :: (Concat a -> Bool) -> Concat a -> [Concat a] # takeWhile :: (Concat a -> Bool) -> Concat a -> Concat a # dropWhile :: (Concat a -> Bool) -> Concat a -> Concat a # spanMaybe :: s -> (s -> Concat a -> Maybe s) -> Concat a -> (Concat a, Concat a, s) # spanMaybe' :: s -> (s -> Concat a -> Maybe s) -> Concat a -> (Concat a, Concat a, s) # splitAt :: Int -> Concat a -> (Concat a, Concat a) # | |
| (LeftGCDMonoid a, StableFactorial a, PositiveMonoid a) => LeftGCDMonoid (Concat a) # | |
| Defined in Data.Monoid.Instances.Concat | |
| (RightGCDMonoid a, StableFactorial a, PositiveMonoid a) => RightGCDMonoid (Concat a) # | |
| Defined in Data.Monoid.Instances.Concat | |
| PositiveMonoid a => MonoidNull (Concat a) # | |
| Defined in Data.Monoid.Instances.Concat | |
| PositiveMonoid a => PositiveMonoid (Concat a) # | |
| Defined in Data.Monoid.Instances.Concat | |
| (Eq a, TextualMonoid a, StableFactorial a, PositiveMonoid a) => TextualMonoid (Concat a) # | |
| Defined in Data.Monoid.Instances.Concat Methods fromText :: Text -> Concat a # singleton :: Char -> Concat a # splitCharacterPrefix :: Concat a -> Maybe (Char, Concat a) # characterPrefix :: Concat a -> Maybe Char # map :: (Char -> Char) -> Concat a -> Concat a # concatMap :: (Char -> Concat a) -> Concat a -> Concat a # toString :: (Concat a -> String) -> Concat a -> String # toText :: (Concat a -> Text) -> Concat a -> Text # any :: (Char -> Bool) -> Concat a -> Bool # all :: (Char -> Bool) -> Concat a -> Bool # foldl :: (a0 -> Concat a -> a0) -> (a0 -> Char -> a0) -> a0 -> Concat a -> a0 # foldl' :: (a0 -> Concat a -> a0) -> (a0 -> Char -> a0) -> a0 -> Concat a -> a0 # foldr :: (Concat a -> a0 -> a0) -> (Char -> a0 -> a0) -> a0 -> Concat a -> a0 # scanl :: (Char -> Char -> Char) -> Char -> Concat a -> Concat a # scanl1 :: (Char -> Char -> Char) -> Concat a -> Concat a # scanr :: (Char -> Char -> Char) -> Char -> Concat a -> Concat a # scanr1 :: (Char -> Char -> Char) -> Concat a -> Concat a # mapAccumL :: (a0 -> Char -> (a0, Char)) -> a0 -> Concat a -> (a0, Concat a) # mapAccumR :: (a0 -> Char -> (a0, Char)) -> a0 -> Concat a -> (a0, Concat a) # takeWhile :: (Concat a -> Bool) -> (Char -> Bool) -> Concat a -> Concat a # dropWhile :: (Concat a -> Bool) -> (Char -> Bool) -> Concat a -> Concat a # break :: (Concat a -> Bool) -> (Char -> Bool) -> Concat a -> (Concat a, Concat a) # span :: (Concat a -> Bool) -> (Char -> Bool) -> Concat a -> (Concat a, Concat a) # spanMaybe :: s -> (s -> Concat a -> Maybe s) -> (s -> Char -> Maybe s) -> Concat a -> (Concat a, Concat a, s) # spanMaybe' :: s -> (s -> Concat a -> Maybe s) -> (s -> Char -> Maybe s) -> Concat a -> (Concat a, Concat a, s) # split :: (Char -> Bool) -> Concat a -> [Concat a] # find :: (Char -> Bool) -> Concat a -> Maybe Char # elem :: Char -> Concat a -> Bool # foldl_ :: (a0 -> Char -> a0) -> a0 -> Concat a -> a0 # foldl_' :: (a0 -> Char -> a0) -> a0 -> Concat a -> a0 # foldr_ :: (Char -> a0 -> a0) -> a0 -> Concat a -> a0 # takeWhile_ :: Bool -> (Char -> Bool) -> Concat a -> Concat a # dropWhile_ :: Bool -> (Char -> Bool) -> Concat a -> Concat a # break_ :: Bool -> (Char -> Bool) -> Concat a -> (Concat a, Concat a) # span_ :: Bool -> (Char -> Bool) -> Concat a -> (Concat a, Concat a) # spanMaybe_ :: s -> (s -> Char -> Maybe s) -> Concat a -> (Concat a, Concat a, s) # spanMaybe_' :: s -> (s -> Char -> Maybe s) -> Concat a -> (Concat a, Concat a, s) # | |
| (LeftReductive a, StableFactorial a, PositiveMonoid a) => LeftReductive (Concat a) # | |
| Defined in Data.Monoid.Instances.Concat | |
| (RightReductive a, StableFactorial a, PositiveMonoid a) => RightReductive (Concat a) # | |
| Defined in Data.Monoid.Instances.Concat | |
| (Factorial a, PositiveMonoid a) => Factorial (Concat a) # | |
| Defined in Data.Monoid.Instances.Concat Methods factors :: Concat a -> [Concat a] # primePrefix :: Concat a -> Concat a # primeSuffix :: Concat a -> Concat a # foldl :: (a0 -> Concat a -> a0) -> a0 -> Concat a -> a0 # foldl' :: (a0 -> Concat a -> a0) -> a0 -> Concat a -> a0 # foldr :: (Concat a -> a0 -> a0) -> a0 -> Concat a -> a0 # | |
| (Factorial a, PositiveMonoid a) => StableFactorial (Concat a) # | |
| Defined in Data.Monoid.Instances.Concat | |
concatenate :: PositiveMonoid a => Seq a -> Concat a #
Deprecated: Concat is not wrapping Seq any more, don't use concatenate nor extract.