| Copyright | (c) Andrey Mulik 2020 |
|---|---|
| License | BSD-style |
| Maintainer | work.a.mulik@gmail.com |
| Portability | non-portable (GHC extensions) |
| Safe Haskell | Trustworthy |
| Language | Haskell2010 |
SDP.Templates.AnyChunks
Contents
Description
SDP.Templates.AnyChunks provides AnyChunks - list of data chunks.
Synopsis
- module SDP.IndexedM
- module SDP.Scan
- data AnyChunks rep e
- fromChunks :: Nullable (rep e) => [rep e] -> AnyChunks rep e
- fromChunksM :: BorderedM1 m rep Int e => [rep e] -> m (AnyChunks rep e)
- toChunks :: AnyChunks rep e -> [rep e]
Export
module SDP.IndexedM
module SDP.Scan
Chunk list
AnyChunks is list of data chunks. AnyChunks shouldn't contain empty chunks,
so the AnyChunks constructor is made private (see fromChunks and
fromChunksM).
- Efficiency of operations on
are very sensitive in the efficiency ofAnyChunksrep eBordered,LinearandSplitonrep e. is only defined for Int-indexedAnyChunksrep erep e.Eq,Ord,Eq1andOrd1instances compareas streams of equal size chunks. To do this, the comparisonAnyChunksrep erep emust also be lexicographic, also forrep emust implementBorderedandSplit.FreezeandThawforare defined for allAnyChunksrep erep ethat already haveFreezeandThawinstances.
Instances
| Eq1 Unlist Source # | |
| Ord1 Unlist Source # | |
Defined in SDP.Unrolled.Unlist | |
| Zip Unlist Source # | |
Defined in SDP.Unrolled.Unlist Methods zap :: Unlist (a -> b) -> Unlist a -> Unlist b Source # all2 :: (a -> b -> Bool) -> Unlist a -> Unlist b -> Bool Source # all3 :: (a -> b -> c -> Bool) -> Unlist a -> Unlist b -> Unlist c -> Bool Source # all4 :: (a -> b -> c -> d -> Bool) -> Unlist a -> Unlist b -> Unlist c -> Unlist d -> Bool Source # all5 :: (a -> b -> c -> d -> e -> Bool) -> Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist e -> Bool Source # all6 :: (a -> b -> c -> d -> e -> f -> Bool) -> Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist e -> Unlist f -> Bool Source # any2 :: (a -> b -> Bool) -> Unlist a -> Unlist b -> Bool Source # any3 :: (a -> b -> c -> Bool) -> Unlist a -> Unlist b -> Unlist c -> Bool Source # any4 :: (a -> b -> c -> d -> Bool) -> Unlist a -> Unlist b -> Unlist c -> Unlist d -> Bool Source # any5 :: (a -> b -> c -> d -> e -> Bool) -> Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist e -> Bool Source # any6 :: (a -> b -> c -> d -> e -> f -> Bool) -> Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist e -> Unlist f -> Bool Source # zip :: Unlist a -> Unlist b -> Unlist (a, b) Source # zip3 :: Unlist a -> Unlist b -> Unlist c -> Unlist (a, b, c) Source # zip4 :: Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist (a, b, c, d) Source # zip5 :: Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist e -> Unlist (a, b, c, d, e) Source # zip6 :: Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist e -> Unlist f -> Unlist (a, b, c, d, e, f) Source # zipWith :: (a -> b -> c) -> Unlist a -> Unlist b -> Unlist c Source # zipWith3 :: (a -> b -> c -> d) -> Unlist a -> Unlist b -> Unlist c -> Unlist d Source # zipWith4 :: (a -> b -> c -> d -> e) -> Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist e Source # zipWith5 :: (a -> b -> c -> d -> e -> f) -> Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist e -> Unlist f Source # zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> Unlist a -> Unlist b -> Unlist c -> Unlist d -> Unlist e -> Unlist f -> Unlist g Source # | |
| Freeze1 m mut imm e => Freeze m (mut e) (AnyChunks imm e) Source # | Creates one-chunk immutable stream, may be memory inefficient. |
Defined in SDP.Templates.AnyChunks | |
| Thaw1 m imm mut e => Thaw m (imm e) (AnyChunks mut e) Source # | Creates one-chunk mutable stream, may be memory inefficient. |
Defined in SDP.Templates.AnyChunks | |
| (BorderedM1 m rep Int e, SortM1 m rep e, SplitM1 m rep e, LinearM1 m rep e) => SortM m (AnyChunks rep e) e Source # | |
| (BorderedM1 m rep Int e, SplitM1 m rep e) => SplitM m (AnyChunks rep e) e Source # | |
Defined in SDP.Templates.AnyChunks Methods takeM :: Int -> AnyChunks rep e -> m (AnyChunks rep e) Source # dropM :: Int -> AnyChunks rep e -> m (AnyChunks rep e) Source # keepM :: Int -> AnyChunks rep e -> m (AnyChunks rep e) Source # sansM :: Int -> AnyChunks rep e -> m (AnyChunks rep e) Source # splitM :: Int -> AnyChunks rep e -> m (AnyChunks rep e, AnyChunks rep e) Source # divideM :: Int -> AnyChunks rep e -> m (AnyChunks rep e, AnyChunks rep e) Source # splitsM :: Foldable f => f Int -> AnyChunks rep e -> m [AnyChunks rep e] Source # dividesM :: Foldable f => f Int -> AnyChunks rep e -> m [AnyChunks rep e] Source # partsM :: Foldable f => f Int -> AnyChunks rep e -> m [AnyChunks rep e] Source # chunksM :: Int -> AnyChunks rep e -> m [AnyChunks rep e] Source # eachM :: Int -> AnyChunks rep e -> m (AnyChunks rep e) Source # prefixM :: (e -> Bool) -> AnyChunks rep e -> m Int Source # suffixM :: (e -> Bool) -> AnyChunks rep e -> m Int Source # mprefix :: (e -> m Bool) -> AnyChunks rep e -> m Int Source # msuffix :: (e -> m Bool) -> AnyChunks rep e -> m Int Source # | |
| (BorderedM1 m rep Int e, SplitM1 m rep e) => LinearM m (AnyChunks rep e) e Source # | |
Defined in SDP.Templates.AnyChunks Methods newNull :: m (AnyChunks rep e) Source # nowNull :: AnyChunks rep e -> m Bool Source # singleM :: e -> m (AnyChunks rep e) Source # getHead :: AnyChunks rep e -> m e Source # getLast :: AnyChunks rep e -> m e Source # prepend :: e -> AnyChunks rep e -> m (AnyChunks rep e) Source # append :: AnyChunks rep e -> e -> m (AnyChunks rep e) Source # newLinear :: [e] -> m (AnyChunks rep e) Source # newLinearN :: Int -> [e] -> m (AnyChunks rep e) Source # fromFoldableM :: Foldable f => f e -> m (AnyChunks rep e) Source # getLeft :: AnyChunks rep e -> m [e] Source # getRight :: AnyChunks rep e -> m [e] Source # (!#>) :: AnyChunks rep e -> Int -> m e Source # writeM :: AnyChunks rep e -> Int -> e -> m () Source # copied :: AnyChunks rep e -> m (AnyChunks rep e) Source # copied' :: AnyChunks rep e -> Int -> Int -> m (AnyChunks rep e) Source # reversed :: AnyChunks rep e -> m (AnyChunks rep e) Source # merged :: Foldable f => f (AnyChunks rep e) -> m (AnyChunks rep e) Source # filled :: Int -> e -> m (AnyChunks rep e) Source # copyTo :: AnyChunks rep e -> Int -> AnyChunks rep e -> Int -> Int -> m () Source # ofoldrM :: (Int -> e -> r -> m r) -> r -> AnyChunks rep e -> m r Source # ofoldlM :: (Int -> r -> e -> m r) -> r -> AnyChunks rep e -> m r Source # ofoldrM' :: (Int -> e -> r -> m r) -> r -> AnyChunks rep e -> m r Source # ofoldlM' :: (Int -> r -> e -> m r) -> r -> AnyChunks rep e -> m r Source # foldrM :: (e -> r -> m r) -> r -> AnyChunks rep e -> m r Source # foldlM :: (r -> e -> m r) -> r -> AnyChunks rep e -> m r Source # foldrM' :: (e -> r -> m r) -> r -> AnyChunks rep e -> m r Source # foldlM' :: (r -> e -> m r) -> r -> AnyChunks rep e -> m r Source # | |
| BorderedM1 m rep Int e => BorderedM m (AnyChunks rep e) Int Source # | |
Defined in SDP.Templates.AnyChunks Methods getBounds :: AnyChunks rep e -> m (Int, Int) Source # getLower :: AnyChunks rep e -> m Int Source # getUpper :: AnyChunks rep e -> m Int Source # getSizeOf :: AnyChunks rep e -> m Int Source # getSizesOf :: AnyChunks rep e -> m [Int] Source # nowIndexIn :: AnyChunks rep e -> Int -> m Bool Source # getOffsetOf :: AnyChunks rep e -> Int -> m Int Source # getIndexOf :: AnyChunks rep e -> Int -> m Int Source # getIndices :: AnyChunks rep e -> m [Int] Source # | |
| (SplitM1 m rep e, MapM1 m rep Int e, BorderedM1 m rep Int e) => MapM m (AnyChunks rep e) Int e Source # | |
Defined in SDP.Templates.AnyChunks Methods newMap :: [(Int, e)] -> m (AnyChunks rep e) Source # newMap' :: e -> [(Int, e)] -> m (AnyChunks rep e) Source # getAssocs :: AnyChunks rep e -> m [(Int, e)] Source # (>!) :: AnyChunks rep e -> Int -> m e Source # (!>) :: AnyChunks rep e -> Int -> m e Source # (!?>) :: AnyChunks rep e -> Int -> m (Maybe e) Source # updateM :: AnyChunks rep e -> (Int -> e -> e) -> m (AnyChunks rep e) Source # overwrite :: AnyChunks rep e -> [(Int, e)] -> m (AnyChunks rep e) Source # memberM' :: AnyChunks rep e -> Int -> m Bool Source # getKeys :: AnyChunks rep e -> m [Int] Source # (.?) :: (e -> Bool) -> AnyChunks rep e -> m (Maybe Int) Source # (*?) :: (e -> Bool) -> AnyChunks rep e -> m [Int] Source # kfoldrM :: (Int -> e -> acc -> m acc) -> acc -> AnyChunks rep e -> m acc Source # kfoldlM :: (Int -> acc -> e -> m acc) -> acc -> AnyChunks rep e -> m acc Source # kfoldrM' :: (Int -> e -> acc -> m acc) -> acc -> AnyChunks rep e -> m acc Source # kfoldlM' :: (Int -> acc -> e -> m acc) -> acc -> AnyChunks rep e -> m acc Source # | |
| (SplitM1 m rep e, IndexedM1 m rep Int e) => IndexedM m (AnyChunks rep e) Int e Source # | |
Defined in SDP.Templates.AnyChunks Methods fromAssocs :: (Int, Int) -> [(Int, e)] -> m (AnyChunks rep e) Source # fromAssocs' :: (Int, Int) -> e -> [(Int, e)] -> m (AnyChunks rep e) Source # writeM' :: AnyChunks rep e -> Int -> e -> m () Source # swapM' :: AnyChunks rep e -> Int -> Int -> m () Source # fromIndexed' :: Indexed v' j e => v' -> m (AnyChunks rep e) Source # fromIndexedM :: IndexedM m v' j e => v' -> m (AnyChunks rep e) Source # reshaped :: IndexedM m v' j e => (Int, Int) -> v' -> (Int -> j) -> m (AnyChunks rep e) Source # fromAccum :: (e -> e' -> e) -> AnyChunks rep e -> [(Int, e')] -> m (AnyChunks rep e) Source # updateM' :: AnyChunks rep e -> (e -> e) -> Int -> m () Source # | |
| (LinearM1 m mut e, Freeze1 m mut imm e) => Freeze m (AnyChunks mut e) (imm e) Source # | Creates new immutable structure using |
Defined in SDP.Templates.AnyChunks | |
| (Linear1 imm e, Thaw1 m imm mut e) => Thaw m (AnyChunks imm e) (mut e) Source # | Creates new local immutable structure and thaw it as fast, as possible. |
Defined in SDP.Templates.AnyChunks | |
| Freeze1 m mut imm e => Freeze m (AnyChunks mut e) (AnyChunks imm e) Source # | |
| Thaw1 m imm mut e => Thaw m (AnyChunks imm e) (AnyChunks mut e) Source # | |
| Functor rep => Functor (AnyChunks rep) Source # | |
| Applicative rep => Applicative (AnyChunks rep) Source # | |
Defined in SDP.Templates.AnyChunks Methods pure :: a -> AnyChunks rep a # (<*>) :: AnyChunks rep (a -> b) -> AnyChunks rep a -> AnyChunks rep b # liftA2 :: (a -> b -> c) -> AnyChunks rep a -> AnyChunks rep b -> AnyChunks rep c # (*>) :: AnyChunks rep a -> AnyChunks rep b -> AnyChunks rep b # (<*) :: AnyChunks rep a -> AnyChunks rep b -> AnyChunks rep a # | |
| Foldable rep => Foldable (AnyChunks rep) Source # | |
Defined in SDP.Templates.AnyChunks Methods fold :: Monoid m => AnyChunks rep m -> m # foldMap :: Monoid m => (a -> m) -> AnyChunks rep a -> m # foldMap' :: Monoid m => (a -> m) -> AnyChunks rep a -> m # foldr :: (a -> b -> b) -> b -> AnyChunks rep a -> b # foldr' :: (a -> b -> b) -> b -> AnyChunks rep a -> b # foldl :: (b -> a -> b) -> b -> AnyChunks rep a -> b # foldl' :: (b -> a -> b) -> b -> AnyChunks rep a -> b # foldr1 :: (a -> a -> a) -> AnyChunks rep a -> a # foldl1 :: (a -> a -> a) -> AnyChunks rep a -> a # toList :: AnyChunks rep a -> [a] # null :: AnyChunks rep a -> Bool # length :: AnyChunks rep a -> Int # elem :: Eq a => a -> AnyChunks rep a -> Bool # maximum :: Ord a => AnyChunks rep a -> a # minimum :: Ord a => AnyChunks rep a -> a # | |
| Traversable rep => Traversable (AnyChunks rep) Source # | |
Defined in SDP.Templates.AnyChunks Methods traverse :: Applicative f => (a -> f b) -> AnyChunks rep a -> f (AnyChunks rep b) # sequenceA :: Applicative f => AnyChunks rep (f a) -> f (AnyChunks rep a) # mapM :: Monad m => (a -> m b) -> AnyChunks rep a -> m (AnyChunks rep b) # sequence :: Monad m => AnyChunks rep (m a) -> m (AnyChunks rep a) # | |
| Sort (Unlist e) e Source # | |
| Unboxed e => Sort (Ublist e) e Source # | |
| Linear1 (AnyChunks rep) e => IsList (AnyChunks rep e) Source # | |
| (Eq (rep e), Bordered1 rep Int e, Split1 rep e) => Eq (AnyChunks rep e) Source # | |
| (Typeable rep, Typeable e, Data (rep e)) => Data (AnyChunks rep e) Source # | |
Defined in SDP.Templates.AnyChunks Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AnyChunks rep e -> c (AnyChunks rep e) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (AnyChunks rep e) # toConstr :: AnyChunks rep e -> Constr # dataTypeOf :: AnyChunks rep e -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (AnyChunks rep e)) # dataCast2 :: Typeable t => (forall d e0. (Data d, Data e0) => c (t d e0)) -> Maybe (c (AnyChunks rep e)) # gmapT :: (forall b. Data b => b -> b) -> AnyChunks rep e -> AnyChunks rep e # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AnyChunks rep e -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AnyChunks rep e -> r # gmapQ :: (forall d. Data d => d -> u) -> AnyChunks rep e -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> AnyChunks rep e -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> AnyChunks rep e -> m (AnyChunks rep e) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AnyChunks rep e -> m (AnyChunks rep e) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AnyChunks rep e -> m (AnyChunks rep e) # | |
| (Ord (rep e), Bordered1 rep Int e, Split1 rep e) => Ord (AnyChunks rep e) Source # | |
Defined in SDP.Templates.AnyChunks Methods compare :: AnyChunks rep e -> AnyChunks rep e -> Ordering # (<) :: AnyChunks rep e -> AnyChunks rep e -> Bool # (<=) :: AnyChunks rep e -> AnyChunks rep e -> Bool # (>) :: AnyChunks rep e -> AnyChunks rep e -> Bool # (>=) :: AnyChunks rep e -> AnyChunks rep e -> Bool # max :: AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e # min :: AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e # | |
| (Indexed1 rep Int e, Read e) => Read (AnyChunks rep e) Source # | |
| Indexed1 rep Int Char => Show (AnyChunks rep Char) Source # | |
| (Indexed1 rep Int e, Show e) => Show (AnyChunks rep e) Source # | |
| Linear1 (AnyChunks rep) Char => IsString (AnyChunks rep Char) Source # | |
Defined in SDP.Templates.AnyChunks Methods fromString :: String -> AnyChunks rep Char # | |
| Generic (AnyChunks rep e) Source # | |
| Semigroup (AnyChunks rep e) Source # | |
| Monoid (AnyChunks rep e) Source # | |
| Default (AnyChunks rep e) Source # | |
Defined in SDP.Templates.AnyChunks | |
| Bordered1 rep Int e => Estimate (AnyChunks rep e) Source # | |
Defined in SDP.Templates.AnyChunks Methods (<.=>) :: AnyChunks rep e -> Int -> Ordering Source # (<==>) :: Compare (AnyChunks rep e) Source # (.==) :: AnyChunks rep e -> Int -> Bool Source # (./=) :: AnyChunks rep e -> Int -> Bool Source # (.<=) :: AnyChunks rep e -> Int -> Bool Source # (.>=) :: AnyChunks rep e -> Int -> Bool Source # (.<) :: AnyChunks rep e -> Int -> Bool Source # (.>) :: AnyChunks rep e -> Int -> Bool Source # (.<.) :: AnyChunks rep e -> AnyChunks rep e -> Bool Source # (.>.) :: AnyChunks rep e -> AnyChunks rep e -> Bool Source # (.<=.) :: AnyChunks rep e -> AnyChunks rep e -> Bool Source # (.>=.) :: AnyChunks rep e -> AnyChunks rep e -> Bool Source # (.==.) :: AnyChunks rep e -> AnyChunks rep e -> Bool Source # (./=.) :: AnyChunks rep e -> AnyChunks rep e -> Bool Source # | |
| Nullable (AnyChunks rep e) Source # | |
| (Bordered1 rep Int e, Split1 rep e) => Split (AnyChunks rep e) e Source # | |
Defined in SDP.Templates.AnyChunks Methods take :: Int -> AnyChunks rep e -> AnyChunks rep e Source # drop :: Int -> AnyChunks rep e -> AnyChunks rep e Source # keep :: Int -> AnyChunks rep e -> AnyChunks rep e Source # sans :: Int -> AnyChunks rep e -> AnyChunks rep e Source # save :: Int -> AnyChunks rep e -> AnyChunks rep e Source # skip :: Int -> AnyChunks rep e -> AnyChunks rep e Source # split :: Int -> AnyChunks rep e -> (AnyChunks rep e, AnyChunks rep e) Source # divide :: Int -> AnyChunks rep e -> (AnyChunks rep e, AnyChunks rep e) Source # splits :: Foldable f => f Int -> AnyChunks rep e -> [AnyChunks rep e] Source # divides :: Foldable f => f Int -> AnyChunks rep e -> [AnyChunks rep e] Source # parts :: Foldable f => f Int -> AnyChunks rep e -> [AnyChunks rep e] Source # chunks :: Int -> AnyChunks rep e -> [AnyChunks rep e] Source # splitBy :: (e -> Bool) -> AnyChunks rep e -> (AnyChunks rep e, AnyChunks rep e) Source # divideBy :: (e -> Bool) -> AnyChunks rep e -> (AnyChunks rep e, AnyChunks rep e) Source # splitsBy :: (e -> Bool) -> AnyChunks rep e -> [AnyChunks rep e] Source # splitsOn :: AnyChunks rep e -> AnyChunks rep e -> [AnyChunks rep e] Source # replaceBy :: AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e Source # removeAll :: AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e Source # combo :: Equal e -> AnyChunks rep e -> Int Source # justifyL :: Int -> e -> AnyChunks rep e -> AnyChunks rep e Source # justifyR :: Int -> e -> AnyChunks rep e -> AnyChunks rep e Source # each :: Int -> AnyChunks rep e -> AnyChunks rep e Source # eachFrom :: Int -> Int -> AnyChunks rep e -> AnyChunks rep e Source # isPrefixOf :: AnyChunks rep e -> AnyChunks rep e -> Bool Source # isSuffixOf :: AnyChunks rep e -> AnyChunks rep e -> Bool Source # isInfixOf :: AnyChunks rep e -> AnyChunks rep e -> Bool Source # prefix :: (e -> Bool) -> AnyChunks rep e -> Int Source # suffix :: (e -> Bool) -> AnyChunks rep e -> Int Source # infixes :: AnyChunks rep e -> AnyChunks rep e -> [Int] Source # dropSide :: (e -> Bool) -> AnyChunks rep e -> AnyChunks rep e Source # takeWhile :: (e -> Bool) -> AnyChunks rep e -> AnyChunks rep e Source # dropWhile :: (e -> Bool) -> AnyChunks rep e -> AnyChunks rep e Source # takeEnd :: (e -> Bool) -> AnyChunks rep e -> AnyChunks rep e Source # dropEnd :: (e -> Bool) -> AnyChunks rep e -> AnyChunks rep e Source # spanl :: (e -> Bool) -> AnyChunks rep e -> (AnyChunks rep e, AnyChunks rep e) Source # breakl :: (e -> Bool) -> AnyChunks rep e -> (AnyChunks rep e, AnyChunks rep e) Source # spanr :: (e -> Bool) -> AnyChunks rep e -> (AnyChunks rep e, AnyChunks rep e) Source # breakr :: (e -> Bool) -> AnyChunks rep e -> (AnyChunks rep e, AnyChunks rep e) Source # selectWhile :: (e -> Maybe a) -> AnyChunks rep e -> [a] Source # selectEnd :: (e -> Maybe a) -> AnyChunks rep e -> [a] Source # extractWhile :: (e -> Maybe a) -> AnyChunks rep e -> ([a], AnyChunks rep e) Source # extractEnd :: (e -> Maybe a) -> AnyChunks rep e -> (AnyChunks rep e, [a]) Source # selectWhile' :: (t e ~ l, Split1 t a) => (e -> Maybe a) -> AnyChunks rep e -> t a Source # selectEnd' :: (t e ~ l, Split1 t a) => (e -> Maybe a) -> AnyChunks rep e -> t a Source # extractWhile' :: (t e ~ l, Split1 t a) => (e -> Maybe a) -> AnyChunks rep e -> (t a, AnyChunks rep e) Source # extractEnd' :: (t e ~ l, Split1 t a) => (e -> Maybe a) -> AnyChunks rep e -> (AnyChunks rep e, t a) Source # | |
| (Bordered1 rep Int e, Linear1 rep e) => Linear (AnyChunks rep e) e Source # | |
Defined in SDP.Templates.AnyChunks Methods uncons :: AnyChunks rep e -> (e, AnyChunks rep e) Source # uncons' :: AnyChunks rep e -> Maybe (e, AnyChunks rep e) Source # toHead :: e -> AnyChunks rep e -> AnyChunks rep e Source # head :: AnyChunks rep e -> e Source # tail :: AnyChunks rep e -> AnyChunks rep e Source # unsnoc :: AnyChunks rep e -> (AnyChunks rep e, e) Source # unsnoc' :: AnyChunks rep e -> Maybe (AnyChunks rep e, e) Source # toLast :: AnyChunks rep e -> e -> AnyChunks rep e Source # init :: AnyChunks rep e -> AnyChunks rep e Source # last :: AnyChunks rep e -> e Source # single :: e -> AnyChunks rep e Source # (++) :: AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e Source # replicate :: Int -> e -> AnyChunks rep e Source # fromList :: [e] -> AnyChunks rep e Source # fromListN :: Int -> [e] -> AnyChunks rep e Source # listR :: AnyChunks rep e -> [e] Source # listL :: AnyChunks rep e -> [e] Source # fromFoldable :: Foldable f => f e -> AnyChunks rep e Source # (!^) :: AnyChunks rep e -> Int -> e Source # write :: AnyChunks rep e -> Int -> e -> AnyChunks rep e Source # concat :: Foldable f => f (AnyChunks rep e) -> AnyChunks rep e Source # concatMap :: Foldable f => (a -> AnyChunks rep e) -> f a -> AnyChunks rep e Source # intersperse :: e -> AnyChunks rep e -> AnyChunks rep e Source # filter :: (e -> Bool) -> AnyChunks rep e -> AnyChunks rep e Source # except :: (e -> Bool) -> AnyChunks rep e -> AnyChunks rep e Source # partition :: (e -> Bool) -> AnyChunks rep e -> (AnyChunks rep e, AnyChunks rep e) Source # partitions :: Foldable f => f (e -> Bool) -> AnyChunks rep e -> [AnyChunks rep e] Source # select :: (e -> Maybe a) -> AnyChunks rep e -> [a] Source # select' :: (t e ~ AnyChunks rep e, Linear1 t a) => (e -> Maybe a) -> AnyChunks rep e -> t a Source # extract :: (e -> Maybe a) -> AnyChunks rep e -> ([a], AnyChunks rep e) Source # extract' :: (t e ~ AnyChunks rep e, Linear1 t a) => (e -> Maybe a) -> AnyChunks rep e -> (t a, AnyChunks rep e) Source # selects :: Foldable f => f (e -> Maybe a) -> AnyChunks rep e -> ([[a]], AnyChunks rep e) Source # selects' :: (Foldable f, t e ~ AnyChunks rep e, Linear1 t a) => f (e -> Maybe a) -> AnyChunks rep e -> ([t a], AnyChunks rep e) Source # isSubseqOf :: AnyChunks rep e -> AnyChunks rep e -> Bool Source # reverse :: AnyChunks rep e -> AnyChunks rep e Source # force :: AnyChunks rep e -> AnyChunks rep e Source # subsequences :: AnyChunks rep e -> [AnyChunks rep e] Source # iterate :: Int -> (e -> e) -> e -> AnyChunks rep e Source # nub :: AnyChunks rep e -> AnyChunks rep e Source # nubBy :: Equal e -> AnyChunks rep e -> AnyChunks rep e Source # ofoldr :: (Int -> e -> b -> b) -> b -> AnyChunks rep e -> b Source # ofoldl :: (Int -> b -> e -> b) -> b -> AnyChunks rep e -> b Source # ofoldr' :: (Int -> e -> b -> b) -> b -> AnyChunks rep e -> b Source # ofoldl' :: (Int -> b -> e -> b) -> b -> AnyChunks rep e -> b Source # o_foldr :: (e -> b -> b) -> b -> AnyChunks rep e -> b Source # o_foldl :: (b -> e -> b) -> b -> AnyChunks rep e -> b Source # o_foldr' :: (e -> b -> b) -> b -> AnyChunks rep e -> b Source # o_foldl' :: (b -> e -> b) -> b -> AnyChunks rep e -> b Source # | |
| Bordered1 rep Int e => Bordered (AnyChunks rep e) Int Source # | |
Defined in SDP.Templates.AnyChunks Methods bounds :: AnyChunks rep e -> (Int, Int) Source # lower :: AnyChunks rep e -> Int Source # upper :: AnyChunks rep e -> Int Source # sizeOf :: AnyChunks rep e -> Int Source # sizesOf :: AnyChunks rep e -> [Int] Source # indexIn :: AnyChunks rep e -> Int -> Bool Source # indices :: AnyChunks rep e -> [Int] Source # | |
| (Nullable (AnyChunks rep e), SetWith1 (AnyChunks rep) e, Ord e) => Set (AnyChunks rep e) e Source # | |
Defined in SDP.Templates.AnyChunks Methods set :: AnyChunks rep e -> AnyChunks rep e Source # insert :: e -> AnyChunks rep e -> AnyChunks rep e Source # delete :: e -> AnyChunks rep e -> AnyChunks rep e Source # (/\) :: AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e Source # (\/) :: AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e Source # (\\) :: AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e Source # (\^/) :: AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e Source # (/?\) :: AnyChunks rep e -> AnyChunks rep e -> Bool Source # (\?/) :: AnyChunks rep e -> AnyChunks rep e -> Bool Source # (\+/) :: AnyChunks rep e -> AnyChunks rep e -> Bool Source # intersections :: Foldable f => f (AnyChunks rep e) -> AnyChunks rep e Source # unions :: Foldable f => f (AnyChunks rep e) -> AnyChunks rep e Source # differences :: Foldable f => f (AnyChunks rep e) -> AnyChunks rep e Source # symdiffs :: Foldable f => f (AnyChunks rep e) -> AnyChunks rep e Source # member :: e -> AnyChunks rep e -> Bool Source # lookupLT :: e -> AnyChunks rep e -> Maybe e Source # lookupGT :: e -> AnyChunks rep e -> Maybe e Source # | |
| (SetWith1 rep e, Linear1 rep e, Ord (rep e), Bordered1 rep Int e) => SetWith (AnyChunks rep e) e Source # | |
Defined in SDP.Templates.AnyChunks Methods setWith :: Compare e -> AnyChunks rep e -> AnyChunks rep e Source # groupSetWith :: Compare e -> (e -> e -> e) -> AnyChunks rep e -> AnyChunks rep e Source # insertWith :: Compare e -> e -> AnyChunks rep e -> AnyChunks rep e Source # deleteWith :: Compare e -> e -> AnyChunks rep e -> AnyChunks rep e Source # intersectionWith :: Compare e -> AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e Source # differenceWith :: Compare e -> AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e Source # symdiffWith :: Compare e -> AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e Source # unionWith :: Compare e -> AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e Source # intersectionsWith :: Foldable f => Compare e -> f (AnyChunks rep e) -> AnyChunks rep e Source # differencesWith :: Foldable f => Compare e -> f (AnyChunks rep e) -> AnyChunks rep e Source # unionsWith :: Foldable f => Compare e -> f (AnyChunks rep e) -> AnyChunks rep e Source # symdiffsWith :: Foldable f => Compare e -> f (AnyChunks rep e) -> AnyChunks rep e Source # isIntersectsWith :: Compare e -> AnyChunks rep e -> AnyChunks rep e -> Bool Source # isDisjointWith :: Compare e -> AnyChunks rep e -> AnyChunks rep e -> Bool Source # memberWith :: Compare e -> e -> AnyChunks rep e -> Bool Source # isSubsetWith :: Compare e -> AnyChunks rep e -> AnyChunks rep e -> Bool Source # subsets :: AnyChunks rep e -> [AnyChunks rep e] Source # lookupLTWith :: Compare e -> e -> AnyChunks rep e -> Maybe e Source # lookupGTWith :: Compare e -> e -> AnyChunks rep e -> Maybe e Source # lookupGEWith :: Compare e -> e -> AnyChunks rep e -> Maybe e Source # lookupLEWith :: Compare e -> e -> AnyChunks rep e -> Maybe e Source # | |
| Linear1 (AnyChunks rep) e => Scan (AnyChunks rep e) e Source # | |
Defined in SDP.Templates.AnyChunks Methods scanl :: (b -> e -> b) -> b -> AnyChunks rep e -> [b] Source # scanl' :: (b -> e -> b) -> b -> AnyChunks rep e -> [b] Source # scanr :: (e -> b -> b) -> b -> AnyChunks rep e -> [b] Source # scanr' :: (e -> b -> b) -> b -> AnyChunks rep e -> [b] Source # | |
| Indexed1 rep Int e => Map (AnyChunks rep e) Int e Source # | |
Defined in SDP.Templates.AnyChunks Methods assocs :: AnyChunks rep e -> [(Int, e)] Source # toMap :: [(Int, e)] -> AnyChunks rep e Source # toMap' :: e -> [(Int, e)] -> AnyChunks rep e Source # insert' :: Int -> e -> AnyChunks rep e -> AnyChunks rep e Source # delete' :: Int -> AnyChunks rep e -> AnyChunks rep e Source # member' :: Int -> AnyChunks rep e -> Bool Source # (//) :: AnyChunks rep e -> [(Int, e)] -> AnyChunks rep e Source # (.!) :: AnyChunks rep e -> Int -> e Source # (!) :: AnyChunks rep e -> Int -> e Source # (!?) :: AnyChunks rep e -> Int -> Maybe e Source # filter' :: (Int -> e -> Bool) -> AnyChunks rep e -> AnyChunks rep e Source # union' :: (e -> e -> e) -> AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e Source # difference' :: (e -> e -> Maybe e) -> AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e Source # intersection' :: (e -> e -> e) -> AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e Source # update :: AnyChunks rep e -> (Int -> e -> e) -> AnyChunks rep e Source # lookupLT' :: Int -> AnyChunks rep e -> Maybe (Int, e) Source # lookupGT' :: Int -> AnyChunks rep e -> Maybe (Int, e) Source # lookupLE' :: Int -> AnyChunks rep e -> Maybe (Int, e) Source # lookupGE' :: Int -> AnyChunks rep e -> Maybe (Int, e) Source # keys :: AnyChunks rep e -> [Int] Source # (.$) :: (e -> Bool) -> AnyChunks rep e -> Maybe Int Source # (*$) :: (e -> Bool) -> AnyChunks rep e -> [Int] Source # kfoldr :: (Int -> e -> b -> b) -> b -> AnyChunks rep e -> b Source # kfoldl :: (Int -> b -> e -> b) -> b -> AnyChunks rep e -> b Source # kfoldr' :: (Int -> e -> b -> b) -> b -> AnyChunks rep e -> b Source # kfoldl' :: (Int -> b -> e -> b) -> b -> AnyChunks rep e -> b Source # | |
| Indexed1 rep Int e => Indexed (AnyChunks rep e) Int e Source # | |
Defined in SDP.Templates.AnyChunks Methods assoc :: (Int, Int) -> [(Int, e)] -> AnyChunks rep e Source # assoc' :: (Int, Int) -> e -> [(Int, e)] -> AnyChunks rep e Source # fromIndexed :: Indexed m j e => m -> AnyChunks rep e Source # write' :: AnyChunks rep e -> Int -> e -> AnyChunks rep e Source # accum :: (e -> e' -> e) -> AnyChunks rep e -> [(Int, e')] -> AnyChunks rep e Source # imap :: Map m j e => (Int, Int) -> m -> (Int -> j) -> AnyChunks rep e Source # update' :: AnyChunks rep e -> (e -> e) -> Int -> AnyChunks rep e Source # updates' :: AnyChunks rep e -> (Int -> e -> e) -> AnyChunks rep e Source # | |
| type Rep (AnyChunks rep e) Source # | |
Defined in SDP.Templates.AnyChunks | |
| type Item (AnyChunks rep e) Source # | |
Defined in SDP.Templates.AnyChunks | |
fromChunks :: Nullable (rep e) => [rep e] -> AnyChunks rep e Source #
Construct immutable AnyChunks safely.
fromChunksM :: BorderedM1 m rep Int e => [rep e] -> m (AnyChunks rep e) Source #
Construct mutable AnyChunks safely.