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 ofAnyChunks
rep eBordered
,Linear
andSplit
onrep e
.
is only defined for Int-indexedAnyChunks
rep erep e
.Eq
,Ord
,Eq1
andOrd1
instances compare
as streams of equal size chunks. To do this, the comparisonAnyChunks
rep erep e
must also be lexicographic, also forrep e
must implementBordered
andSplit
.Freeze
andThaw
for
are defined for allAnyChunks
rep erep e
that already haveFreeze
andThaw
instances.
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.