Copyright | (c) Andrey Mulik 2020 |
---|---|
License | BSD-style |
Maintainer | work.a.mulik@gmail.com |
Portability | non-portable (GHC extensions) |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Test.SDP.Arbitrary
is service module that provides Arbitrary
instances
for sdp
structures.
Exports
module Test.QuickCheck
SArray#
is immutable pseudo-primitive Int
-indexed lazy boxed array type.
SArray#
isn't real Haskell primitive (like GHC.Exts types) but for
reliability and stability, I made it inaccessible to direct work.
Instances
SBytes#
is immutable pseudo-primitive Int
-indexed strict unboxed array
type.
SBytes#
isn't real Haskell primitive (like GHC.Exts types) but for
reliability and stability, I made it inaccessible to direct work.
Instances
data AnyBorder (rep :: Type -> Type) i e #
AnyBorder
is template, that appends arbitrary bounds to any structure.
AnyBorder !i !i !(rep e) |
Instances
(Index i, Thaw m imm (rep e), Bordered1 rep Int e) => Thaw m imm (AnyBorder rep i e) | |
Defined in SDP.Templates.AnyBorder | |
(Index i, Freeze m mut (rep e), Bordered1 rep Int e) => Freeze m mut (AnyBorder rep i e) | |
Defined in SDP.Templates.AnyBorder | |
(Index i, Thaw m (rep e) mut) => Thaw m (AnyBorder rep i e) mut | |
Defined in SDP.Templates.AnyBorder | |
(Index i, Freeze m (rep e) imm) => Freeze m (AnyBorder rep i e) imm | |
Defined in SDP.Templates.AnyBorder | |
(Index i, BorderedM1 m rep Int e) => BorderedM m (AnyBorder rep i e) i | |
Defined in SDP.Templates.AnyBorder getBounds :: AnyBorder rep i e -> m (i, i) # getLower :: AnyBorder rep i e -> m i # getUpper :: AnyBorder rep i e -> m i # getSizeOf :: AnyBorder rep i e -> m Int # getSizesOf :: AnyBorder rep i e -> m [Int] # nowIndexIn :: AnyBorder rep i e -> i -> m Bool # getOffsetOf :: AnyBorder rep i e -> i -> m Int # getIndexOf :: AnyBorder rep i e -> Int -> m i # getIndices :: AnyBorder rep i e -> m [i] # | |
(Index i, LinearM1 m rep e, BorderedM1 m rep Int e) => LinearM m (AnyBorder rep i e) e | |
Defined in SDP.Templates.AnyBorder newNull :: m (AnyBorder rep i e) # nowNull :: AnyBorder rep i e -> m Bool # singleM :: e -> m (AnyBorder rep i e) # getHead :: AnyBorder rep i e -> m e # getLast :: AnyBorder rep i e -> m e # prepend :: e -> AnyBorder rep i e -> m (AnyBorder rep i e) # append :: AnyBorder rep i e -> e -> m (AnyBorder rep i e) # newLinear :: [e] -> m (AnyBorder rep i e) # newLinearN :: Int -> [e] -> m (AnyBorder rep i e) # fromFoldableM :: Foldable f => f e -> m (AnyBorder rep i e) # getLeft :: AnyBorder rep i e -> m [e] # getRight :: AnyBorder rep i e -> m [e] # (!#>) :: AnyBorder rep i e -> Int -> m e # writeM :: AnyBorder rep i e -> Int -> e -> m () # copied :: AnyBorder rep i e -> m (AnyBorder rep i e) # copied' :: AnyBorder rep i e -> Int -> Int -> m (AnyBorder rep i e) # reversed :: AnyBorder rep i e -> m (AnyBorder rep i e) # merged :: Foldable f => f (AnyBorder rep i e) -> m (AnyBorder rep i e) # filled :: Int -> e -> m (AnyBorder rep i e) # copyTo :: AnyBorder rep i e -> Int -> AnyBorder rep i e -> Int -> Int -> m () # ofoldrM :: (Int -> e -> r -> m r) -> r -> AnyBorder rep i e -> m r # ofoldlM :: (Int -> r -> e -> m r) -> r -> AnyBorder rep i e -> m r # ofoldrM' :: (Int -> e -> r -> m r) -> r -> AnyBorder rep i e -> m r # ofoldlM' :: (Int -> r -> e -> m r) -> r -> AnyBorder rep i e -> m r # foldrM :: (e -> r -> m r) -> r -> AnyBorder rep i e -> m r # foldlM :: (r -> e -> m r) -> r -> AnyBorder rep i e -> m r # foldrM' :: (e -> r -> m r) -> r -> AnyBorder rep i e -> m r # foldlM' :: (r -> e -> m r) -> r -> AnyBorder rep i e -> m r # | |
(Index i, BorderedM1 m rep Int e, SplitM1 m rep e) => SplitM m (AnyBorder rep i e) e | |
Defined in SDP.Templates.AnyBorder takeM :: Int -> AnyBorder rep i e -> m (AnyBorder rep i e) # dropM :: Int -> AnyBorder rep i e -> m (AnyBorder rep i e) # keepM :: Int -> AnyBorder rep i e -> m (AnyBorder rep i e) # sansM :: Int -> AnyBorder rep i e -> m (AnyBorder rep i e) # splitM :: Int -> AnyBorder rep i e -> m (AnyBorder rep i e, AnyBorder rep i e) # divideM :: Int -> AnyBorder rep i e -> m (AnyBorder rep i e, AnyBorder rep i e) # splitsM :: Foldable f => f Int -> AnyBorder rep i e -> m [AnyBorder rep i e] # dividesM :: Foldable f => f Int -> AnyBorder rep i e -> m [AnyBorder rep i e] # partsM :: Foldable f => f Int -> AnyBorder rep i e -> m [AnyBorder rep i e] # chunksM :: Int -> AnyBorder rep i e -> m [AnyBorder rep i e] # eachM :: Int -> AnyBorder rep i e -> m (AnyBorder rep i e) # prefixM :: (e -> Bool) -> AnyBorder rep i e -> m Int # suffixM :: (e -> Bool) -> AnyBorder rep i e -> m Int # | |
(Index i, SortM1 m rep e) => SortM m (AnyBorder rep i e) e | |
(Index i, IndexedM1 m rep Int e) => IndexedM m (AnyBorder rep i e) i e | |
Defined in SDP.Templates.AnyBorder fromAssocs :: (i, i) -> [(i, e)] -> m (AnyBorder rep i e) # fromAssocs' :: (i, i) -> e -> [(i, e)] -> m (AnyBorder rep i e) # writeM' :: AnyBorder rep i e -> i -> e -> m () # swapM' :: AnyBorder rep i e -> i -> i -> m () # fromIndexed' :: Indexed v' j e => v' -> m (AnyBorder rep i e) # fromIndexedM :: IndexedM m v' j e => v' -> m (AnyBorder rep i e) # reshaped :: IndexedM m v' j e => (i, i) -> v' -> (i -> j) -> m (AnyBorder rep i e) # fromAccum :: (e -> e' -> e) -> AnyBorder rep i e -> [(i, e')] -> m (AnyBorder rep i e) # | |
(Index i, MapM1 m rep Int e, LinearM1 m rep e, BorderedM1 m rep Int e) => MapM m (AnyBorder rep i e) i e | |
Defined in SDP.Templates.AnyBorder newMap :: [(i, e)] -> m (AnyBorder rep i e) # newMap' :: e -> [(i, e)] -> m (AnyBorder rep i e) # getAssocs :: AnyBorder rep i e -> m [(i, e)] # (>!) :: AnyBorder rep i e -> i -> m e # (!>) :: AnyBorder rep i e -> i -> m e # (!?>) :: AnyBorder rep i e -> i -> m (Maybe e) # updateM :: AnyBorder rep i e -> (i -> e -> e) -> m (AnyBorder rep i e) # overwrite :: AnyBorder rep i e -> [(i, e)] -> m (AnyBorder rep i e) # memberM' :: AnyBorder rep i e -> i -> m Bool # getKeys :: AnyBorder rep i e -> m [i] # (.?) :: (e -> Bool) -> AnyBorder rep i e -> m (Maybe i) # (*?) :: (e -> Bool) -> AnyBorder rep i e -> m [i] # kfoldrM :: (i -> e -> acc -> m acc) -> acc -> AnyBorder rep i e -> m acc # kfoldlM :: (i -> acc -> e -> m acc) -> acc -> AnyBorder rep i e -> m acc # kfoldrM' :: (i -> e -> acc -> m acc) -> acc -> AnyBorder rep i e -> m acc # kfoldlM' :: (i -> acc -> e -> m acc) -> acc -> AnyBorder rep i e -> m acc # | |
(Index i, Thaw1 m imm mut e) => Thaw m (AnyBorder imm i e) (AnyBorder mut i e) | |
Defined in SDP.Templates.AnyBorder | |
(Index i, Freeze1 m mut imm e) => Freeze m (AnyBorder mut i e) (AnyBorder imm i e) | |
Defined in SDP.Templates.AnyBorder | |
(Bordered1 rep Int e, Split1 rep e) => Shaped (AnyBorder rep) e | |
Defined in SDP.Templates.AnyBorder defaultRebound :: (Index i, Index j, Bordered2 (AnyBorder rep) i e) => AnyBorder rep i e -> AnyBorder rep j e # rebound :: Index i => AnyBorder rep i e -> (i, i) -> AnyBorder rep i e # reshape :: (Index i, Index j) => AnyBorder rep i e -> (j, j) -> AnyBorder rep j e # (!!) :: SubIndex i j => AnyBorder rep i e -> (i :|: j) -> AnyBorder rep j e # slices :: SubIndex i j => AnyBorder rep i e -> [AnyBorder rep j e] # unslice :: (Foldable f, SubIndex i j) => f (AnyBorder rep j e) -> AnyBorder rep i e # | |
(Index i, Functor rep) => Functor (AnyBorder rep i) | |
(Index i, Applicative rep) => Applicative (AnyBorder rep i) | |
Defined in SDP.Templates.AnyBorder pure :: a -> AnyBorder rep i a # (<*>) :: AnyBorder rep i (a -> b) -> AnyBorder rep i a -> AnyBorder rep i b # liftA2 :: (a -> b -> c) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c # (*>) :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i b # (<*) :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i a # | |
(Index i, Foldable rep) => Foldable (AnyBorder rep i) | |
Defined in SDP.Templates.AnyBorder fold :: Monoid m => AnyBorder rep i m -> m # foldMap :: Monoid m => (a -> m) -> AnyBorder rep i a -> m # foldMap' :: Monoid m => (a -> m) -> AnyBorder rep i a -> m # foldr :: (a -> b -> b) -> b -> AnyBorder rep i a -> b # foldr' :: (a -> b -> b) -> b -> AnyBorder rep i a -> b # foldl :: (b -> a -> b) -> b -> AnyBorder rep i a -> b # foldl' :: (b -> a -> b) -> b -> AnyBorder rep i a -> b # foldr1 :: (a -> a -> a) -> AnyBorder rep i a -> a # foldl1 :: (a -> a -> a) -> AnyBorder rep i a -> a # toList :: AnyBorder rep i a -> [a] # null :: AnyBorder rep i a -> Bool # length :: AnyBorder rep i a -> Int # elem :: Eq a => a -> AnyBorder rep i a -> Bool # maximum :: Ord a => AnyBorder rep i a -> a # minimum :: Ord a => AnyBorder rep i a -> a # | |
(Index i, Traversable rep) => Traversable (AnyBorder rep i) | |
Defined in SDP.Templates.AnyBorder traverse :: Applicative f => (a -> f b) -> AnyBorder rep i a -> f (AnyBorder rep i b) # sequenceA :: Applicative f => AnyBorder rep i (f a) -> f (AnyBorder rep i a) # mapM :: Monad m => (a -> m b) -> AnyBorder rep i a -> m (AnyBorder rep i b) # sequence :: Monad m => AnyBorder rep i (m a) -> m (AnyBorder rep i a) # | |
(Index i, Eq1 rep) => Eq1 (AnyBorder rep i) | |
(Index i, Ord1 rep) => Ord1 (AnyBorder rep i) | |
Defined in SDP.Templates.AnyBorder | |
(Index i, Zip rep) => Zip (AnyBorder rep i) | |
Defined in SDP.Templates.AnyBorder zap :: AnyBorder rep i (a -> b) -> AnyBorder rep i a -> AnyBorder rep i b # all2 :: (a -> b -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> Bool # all3 :: (a -> b -> c -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> Bool # all4 :: (a -> b -> c -> d -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> Bool # all5 :: (a -> b -> c -> d -> e -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> Bool # all6 :: (a -> b -> c -> d -> e -> f -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> AnyBorder rep i f -> Bool # any2 :: (a -> b -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> Bool # any3 :: (a -> b -> c -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> Bool # any4 :: (a -> b -> c -> d -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> Bool # any5 :: (a -> b -> c -> d -> e -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> Bool # any6 :: (a -> b -> c -> d -> e -> f -> Bool) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> AnyBorder rep i f -> Bool # zip :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i (a, b) # zip3 :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i (a, b, c) # zip4 :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i (a, b, c, d) # zip5 :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> AnyBorder rep i (a, b, c, d, e) # zip6 :: AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> AnyBorder rep i f -> AnyBorder rep i (a, b, c, d, e, f) # zipWith :: (a -> b -> c) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c # zipWith3 :: (a -> b -> c -> d) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d # zipWith4 :: (a -> b -> c -> d -> e) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e # zipWith5 :: (a -> b -> c -> d -> e -> f) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> AnyBorder rep i f # zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> AnyBorder rep i a -> AnyBorder rep i b -> AnyBorder rep i c -> AnyBorder rep i d -> AnyBorder rep i e -> AnyBorder rep i f -> AnyBorder rep i g # | |
(Index i, IsList (rep e), Bordered1 rep Int e) => IsList (AnyBorder rep i e) | |
(Index i, Eq (rep e)) => Eq (AnyBorder rep i e) | |
(Typeable rep, Typeable e, Data i, Data (rep e)) => Data (AnyBorder rep i e) | |
Defined in SDP.Templates.AnyBorder gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AnyBorder rep i e -> c (AnyBorder rep i e) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (AnyBorder rep i e) # toConstr :: AnyBorder rep i e -> Constr # dataTypeOf :: AnyBorder rep i e -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (AnyBorder rep i e)) # dataCast2 :: Typeable t => (forall d e0. (Data d, Data e0) => c (t d e0)) -> Maybe (c (AnyBorder rep i e)) # gmapT :: (forall b. Data b => b -> b) -> AnyBorder rep i e -> AnyBorder rep i e # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AnyBorder rep i e -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AnyBorder rep i e -> r # gmapQ :: (forall d. Data d => d -> u) -> AnyBorder rep i e -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> AnyBorder rep i e -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> AnyBorder rep i e -> m (AnyBorder rep i e) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AnyBorder rep i e -> m (AnyBorder rep i e) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AnyBorder rep i e -> m (AnyBorder rep i e) # | |
(Index i, Ord (rep e)) => Ord (AnyBorder rep i e) | |
Defined in SDP.Templates.AnyBorder compare :: AnyBorder rep i e -> AnyBorder rep i e -> Ordering # (<) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # (<=) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # (>) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # (>=) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # max :: AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e # min :: AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e # | |
(Index i, Read i, Read e, Indexed1 rep Int e) => Read (AnyBorder rep i e) | |
(Indexed1 rep Int e, Index i, Show i, Show e) => Show (AnyBorder rep i e) | |
(Indexed1 rep Int Char, Index i, Show i) => Show (AnyBorder rep i Char) | |
(Index i, IsString (rep Char), Bordered1 rep Int Char) => IsString (AnyBorder rep i Char) | |
Defined in SDP.Templates.AnyBorder fromString :: String -> AnyBorder rep i Char # | |
Generic (AnyBorder rep i e) | |
Linear1 (AnyBorder rep i) e => Semigroup (AnyBorder rep i e) | |
Linear1 (AnyBorder rep i) e => Monoid (AnyBorder rep i e) | |
(Index i, Bordered1 rep Int e, Arbitrary (rep e)) => Arbitrary (AnyBorder rep i e) Source # | |
Linear1 (AnyBorder rep i) e => Default (AnyBorder rep i e) | |
Defined in SDP.Templates.AnyBorder | |
(Index i, Bordered (rep e) Int, Nullable (rep e)) => Nullable (AnyBorder rep i e) | |
Index i => Estimate (AnyBorder rep i e) | |
Defined in SDP.Templates.AnyBorder (<.=>) :: AnyBorder rep i e -> Int -> Ordering # (<==>) :: Compare (AnyBorder rep i e) # (.==) :: AnyBorder rep i e -> Int -> Bool # (./=) :: AnyBorder rep i e -> Int -> Bool # (.<=) :: AnyBorder rep i e -> Int -> Bool # (.>=) :: AnyBorder rep i e -> Int -> Bool # (.<) :: AnyBorder rep i e -> Int -> Bool # (.>) :: AnyBorder rep i e -> Int -> Bool # (.<.) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # (.>.) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # (.<=.) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # (.>=.) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # | |
Linear1 (AnyBorder rep i) e => Scan (AnyBorder rep i e) e | |
Defined in SDP.Templates.AnyBorder | |
(Index i, SetWith1 rep e, Linear1 rep e, Bordered1 rep Int e) => SetWith (AnyBorder rep i e) e | |
Defined in SDP.Templates.AnyBorder setWith :: Compare e -> AnyBorder rep i e -> AnyBorder rep i e # groupSetWith :: Compare e -> (e -> e -> e) -> AnyBorder rep i e -> AnyBorder rep i e # insertWith :: Compare e -> e -> AnyBorder rep i e -> AnyBorder rep i e # deleteWith :: Compare e -> e -> AnyBorder rep i e -> AnyBorder rep i e # intersectionWith :: Compare e -> AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e # differenceWith :: Compare e -> AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e # symdiffWith :: Compare e -> AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e # unionWith :: Compare e -> AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e # intersectionsWith :: Foldable f => Compare e -> f (AnyBorder rep i e) -> AnyBorder rep i e # differencesWith :: Foldable f => Compare e -> f (AnyBorder rep i e) -> AnyBorder rep i e # unionsWith :: Foldable f => Compare e -> f (AnyBorder rep i e) -> AnyBorder rep i e # symdiffsWith :: Foldable f => Compare e -> f (AnyBorder rep i e) -> AnyBorder rep i e # isIntersectsWith :: Compare e -> AnyBorder rep i e -> AnyBorder rep i e -> Bool # isDisjointWith :: Compare e -> AnyBorder rep i e -> AnyBorder rep i e -> Bool # memberWith :: Compare e -> e -> AnyBorder rep i e -> Bool # isSubsetWith :: Compare e -> AnyBorder rep i e -> AnyBorder rep i e -> Bool # subsets :: AnyBorder rep i e -> [AnyBorder rep i e] # lookupLTWith :: Compare e -> e -> AnyBorder rep i e -> Maybe e # lookupGTWith :: Compare e -> e -> AnyBorder rep i e -> Maybe e # lookupGEWith :: Compare e -> e -> AnyBorder rep i e -> Maybe e # lookupLEWith :: Compare e -> e -> AnyBorder rep i e -> Maybe e # | |
(SetWith1 (AnyBorder rep i) e, Nullable (AnyBorder rep i e), Ord e) => Set (AnyBorder rep i e) e | |
Defined in SDP.Templates.AnyBorder set :: AnyBorder rep i e -> AnyBorder rep i e # insert :: e -> AnyBorder rep i e -> AnyBorder rep i e # delete :: e -> AnyBorder rep i e -> AnyBorder rep i e # (/\) :: AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e # (\/) :: AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e # (\\) :: AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e # (\^/) :: AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e # (/?\) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # (\?/) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # (\+/) :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # intersections :: Foldable f => f (AnyBorder rep i e) -> AnyBorder rep i e # unions :: Foldable f => f (AnyBorder rep i e) -> AnyBorder rep i e # differences :: Foldable f => f (AnyBorder rep i e) -> AnyBorder rep i e # symdiffs :: Foldable f => f (AnyBorder rep i e) -> AnyBorder rep i e # member :: e -> AnyBorder rep i e -> Bool # lookupLT :: e -> AnyBorder rep i e -> Maybe e # lookupGT :: e -> AnyBorder rep i e -> Maybe e # | |
Index i => Bordered (AnyBorder rep i e) i | |
Defined in SDP.Templates.AnyBorder bounds :: AnyBorder rep i e -> (i, i) # lower :: AnyBorder rep i e -> i # upper :: AnyBorder rep i e -> i # sizeOf :: AnyBorder rep i e -> Int # sizesOf :: AnyBorder rep i e -> [Int] # indexIn :: AnyBorder rep i e -> i -> Bool # indices :: AnyBorder rep i e -> [i] # | |
(Index i, Linear1 rep e, Bordered1 rep Int e) => Linear (AnyBorder rep i e) e | |
Defined in SDP.Templates.AnyBorder uncons :: AnyBorder rep i e -> (e, AnyBorder rep i e) # uncons' :: AnyBorder rep i e -> Maybe (e, AnyBorder rep i e) # toHead :: e -> AnyBorder rep i e -> AnyBorder rep i e # head :: AnyBorder rep i e -> e # tail :: AnyBorder rep i e -> AnyBorder rep i e # unsnoc :: AnyBorder rep i e -> (AnyBorder rep i e, e) # unsnoc' :: AnyBorder rep i e -> Maybe (AnyBorder rep i e, e) # toLast :: AnyBorder rep i e -> e -> AnyBorder rep i e # init :: AnyBorder rep i e -> AnyBorder rep i e # last :: AnyBorder rep i e -> e # single :: e -> AnyBorder rep i e # (++) :: AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e # replicate :: Int -> e -> AnyBorder rep i e # fromList :: [e] -> AnyBorder rep i e # fromListN :: Int -> [e] -> AnyBorder rep i e # listR :: AnyBorder rep i e -> [e] # listL :: AnyBorder rep i e -> [e] # fromFoldable :: Foldable f => f e -> AnyBorder rep i e # (!^) :: AnyBorder rep i e -> Int -> e # write :: AnyBorder rep i e -> Int -> e -> AnyBorder rep i e # concat :: Foldable f => f (AnyBorder rep i e) -> AnyBorder rep i e # concatMap :: Foldable f => (a -> AnyBorder rep i e) -> f a -> AnyBorder rep i e # intersperse :: e -> AnyBorder rep i e -> AnyBorder rep i e # filter :: (e -> Bool) -> AnyBorder rep i e -> AnyBorder rep i e # except :: (e -> Bool) -> AnyBorder rep i e -> AnyBorder rep i e # partition :: (e -> Bool) -> AnyBorder rep i e -> (AnyBorder rep i e, AnyBorder rep i e) # partitions :: Foldable f => f (e -> Bool) -> AnyBorder rep i e -> [AnyBorder rep i e] # select :: (e -> Maybe a) -> AnyBorder rep i e -> [a] # select' :: (t e ~ AnyBorder rep i e, Linear1 t a) => (e -> Maybe a) -> AnyBorder rep i e -> t a # extract :: (e -> Maybe a) -> AnyBorder rep i e -> ([a], AnyBorder rep i e) # extract' :: (t e ~ AnyBorder rep i e, Linear1 t a) => (e -> Maybe a) -> AnyBorder rep i e -> (t a, AnyBorder rep i e) # selects :: Foldable f => f (e -> Maybe a) -> AnyBorder rep i e -> ([[a]], AnyBorder rep i e) # selects' :: (Foldable f, t e ~ AnyBorder rep i e, Linear1 t a) => f (e -> Maybe a) -> AnyBorder rep i e -> ([t a], AnyBorder rep i e) # isSubseqOf :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # reverse :: AnyBorder rep i e -> AnyBorder rep i e # force :: AnyBorder rep i e -> AnyBorder rep i e # subsequences :: AnyBorder rep i e -> [AnyBorder rep i e] # iterate :: Int -> (e -> e) -> e -> AnyBorder rep i e # nub :: AnyBorder rep i e -> AnyBorder rep i e # nubBy :: Equal e -> AnyBorder rep i e -> AnyBorder rep i e # ofoldr :: (Int -> e -> b -> b) -> b -> AnyBorder rep i e -> b # ofoldl :: (Int -> b -> e -> b) -> b -> AnyBorder rep i e -> b # ofoldr' :: (Int -> e -> b -> b) -> b -> AnyBorder rep i e -> b # ofoldl' :: (Int -> b -> e -> b) -> b -> AnyBorder rep i e -> b # o_foldr :: (e -> b -> b) -> b -> AnyBorder rep i e -> b # o_foldl :: (b -> e -> b) -> b -> AnyBorder rep i e -> b # | |
(Index i, Split1 rep e, Bordered1 rep Int e) => Split (AnyBorder rep i e) e | |
Defined in SDP.Templates.AnyBorder take :: Int -> AnyBorder rep i e -> AnyBorder rep i e # drop :: Int -> AnyBorder rep i e -> AnyBorder rep i e # keep :: Int -> AnyBorder rep i e -> AnyBorder rep i e # sans :: Int -> AnyBorder rep i e -> AnyBorder rep i e # save :: Int -> AnyBorder rep i e -> AnyBorder rep i e # skip :: Int -> AnyBorder rep i e -> AnyBorder rep i e # split :: Int -> AnyBorder rep i e -> (AnyBorder rep i e, AnyBorder rep i e) # divide :: Int -> AnyBorder rep i e -> (AnyBorder rep i e, AnyBorder rep i e) # splits :: Foldable f => f Int -> AnyBorder rep i e -> [AnyBorder rep i e] # divides :: Foldable f => f Int -> AnyBorder rep i e -> [AnyBorder rep i e] # parts :: Foldable f => f Int -> AnyBorder rep i e -> [AnyBorder rep i e] # chunks :: Int -> AnyBorder rep i e -> [AnyBorder rep i e] # splitBy :: (e -> Bool) -> AnyBorder rep i e -> (AnyBorder rep i e, AnyBorder rep i e) # divideBy :: (e -> Bool) -> AnyBorder rep i e -> (AnyBorder rep i e, AnyBorder rep i e) # splitsBy :: (e -> Bool) -> AnyBorder rep i e -> [AnyBorder rep i e] # splitsOn :: AnyBorder rep i e -> AnyBorder rep i e -> [AnyBorder rep i e] # replaceBy :: AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e # removeAll :: AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e # combo :: Equal e -> AnyBorder rep i e -> Int # justifyL :: Int -> e -> AnyBorder rep i e -> AnyBorder rep i e # justifyR :: Int -> e -> AnyBorder rep i e -> AnyBorder rep i e # each :: Int -> AnyBorder rep i e -> AnyBorder rep i e # eachFrom :: Int -> Int -> AnyBorder rep i e -> AnyBorder rep i e # isPrefixOf :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # isSuffixOf :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # isInfixOf :: AnyBorder rep i e -> AnyBorder rep i e -> Bool # prefix :: (e -> Bool) -> AnyBorder rep i e -> Int # suffix :: (e -> Bool) -> AnyBorder rep i e -> Int # infixes :: AnyBorder rep i e -> AnyBorder rep i e -> [Int] # dropSide :: (e -> Bool) -> AnyBorder rep i e -> AnyBorder rep i e # takeWhile :: (e -> Bool) -> AnyBorder rep i e -> AnyBorder rep i e # dropWhile :: (e -> Bool) -> AnyBorder rep i e -> AnyBorder rep i e # takeEnd :: (e -> Bool) -> AnyBorder rep i e -> AnyBorder rep i e # dropEnd :: (e -> Bool) -> AnyBorder rep i e -> AnyBorder rep i e # spanl :: (e -> Bool) -> AnyBorder rep i e -> (AnyBorder rep i e, AnyBorder rep i e) # breakl :: (e -> Bool) -> AnyBorder rep i e -> (AnyBorder rep i e, AnyBorder rep i e) # spanr :: (e -> Bool) -> AnyBorder rep i e -> (AnyBorder rep i e, AnyBorder rep i e) # breakr :: (e -> Bool) -> AnyBorder rep i e -> (AnyBorder rep i e, AnyBorder rep i e) # selectWhile :: (e -> Maybe a) -> AnyBorder rep i e -> [a] # selectEnd :: (e -> Maybe a) -> AnyBorder rep i e -> [a] # extractWhile :: (e -> Maybe a) -> AnyBorder rep i e -> ([a], AnyBorder rep i e) # extractEnd :: (e -> Maybe a) -> AnyBorder rep i e -> (AnyBorder rep i e, [a]) # selectWhile' :: (t e ~ l, Split1 t a) => (e -> Maybe a) -> AnyBorder rep i e -> t a # selectEnd' :: (t e ~ l, Split1 t a) => (e -> Maybe a) -> AnyBorder rep i e -> t a # extractWhile' :: (t e ~ l, Split1 t a) => (e -> Maybe a) -> AnyBorder rep i e -> (t a, AnyBorder rep i e) # extractEnd' :: (t e ~ l, Split1 t a) => (e -> Maybe a) -> AnyBorder rep i e -> (AnyBorder rep i e, t a) # | |
(Index i, Sort (rep e) e) => Sort (AnyBorder rep i e) e | |
(Index i, Indexed1 rep Int e) => Indexed (AnyBorder rep i e) i e | |
Defined in SDP.Templates.AnyBorder assoc :: (i, i) -> [(i, e)] -> AnyBorder rep i e # assoc' :: (i, i) -> e -> [(i, e)] -> AnyBorder rep i e # fromIndexed :: Indexed m j e => m -> AnyBorder rep i e # write' :: AnyBorder rep i e -> i -> e -> AnyBorder rep i e # accum :: (e -> e' -> e) -> AnyBorder rep i e -> [(i, e')] -> AnyBorder rep i e # imap :: Map m j e => (i, i) -> m -> (i -> j) -> AnyBorder rep i e # update' :: AnyBorder rep i e -> (e -> e) -> i -> AnyBorder rep i e # updates' :: AnyBorder rep i e -> (i -> e -> e) -> AnyBorder rep i e # | |
(Index i, Indexed1 rep Int e) => Map (AnyBorder rep i e) i e | |
Defined in SDP.Templates.AnyBorder assocs :: AnyBorder rep i e -> [(i, e)] # toMap :: [(i, e)] -> AnyBorder rep i e # toMap' :: e -> [(i, e)] -> AnyBorder rep i e # insert' :: i -> e -> AnyBorder rep i e -> AnyBorder rep i e # delete' :: i -> AnyBorder rep i e -> AnyBorder rep i e # member' :: i -> AnyBorder rep i e -> Bool # (//) :: AnyBorder rep i e -> [(i, e)] -> AnyBorder rep i e # (.!) :: AnyBorder rep i e -> i -> e # (!) :: AnyBorder rep i e -> i -> e # (!?) :: AnyBorder rep i e -> i -> Maybe e # filter' :: (i -> e -> Bool) -> AnyBorder rep i e -> AnyBorder rep i e # union' :: (e -> e -> e) -> AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e # difference' :: (e -> e -> Maybe e) -> AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e # intersection' :: (e -> e -> e) -> AnyBorder rep i e -> AnyBorder rep i e -> AnyBorder rep i e # update :: AnyBorder rep i e -> (i -> e -> e) -> AnyBorder rep i e # lookupLT' :: i -> AnyBorder rep i e -> Maybe (i, e) # lookupGT' :: i -> AnyBorder rep i e -> Maybe (i, e) # lookupLE' :: i -> AnyBorder rep i e -> Maybe (i, e) # lookupGE' :: i -> AnyBorder rep i e -> Maybe (i, e) # keys :: AnyBorder rep i e -> [i] # (.$) :: (e -> Bool) -> AnyBorder rep i e -> Maybe i # (*$) :: (e -> Bool) -> AnyBorder rep i e -> [i] # kfoldr :: (i -> e -> b -> b) -> b -> AnyBorder rep i e -> b # kfoldl :: (i -> b -> e -> b) -> b -> AnyBorder rep i e -> b # kfoldr' :: (i -> e -> b -> b) -> b -> AnyBorder rep i e -> b # kfoldl' :: (i -> b -> e -> b) -> b -> AnyBorder rep i e -> b # | |
type Rep (AnyBorder rep i e) | |
Defined in SDP.Templates.AnyBorder type Rep (AnyBorder rep i e) = D1 ('MetaData "AnyBorder" "SDP.Templates.AnyBorder" "sdp-0.2-AH2T5KX1xmG8Wo3slp7kFT" 'False) (C1 ('MetaCons "AnyBorder" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 i) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 i) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (rep e))))) | |
type Item (AnyBorder rep i e) | |
Defined in SDP.Templates.AnyBorder |
data AnyChunks (rep :: Type -> Type) e #
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
Thaw1 m imm mut e => Thaw m (imm e) (AnyChunks mut e) | Creates one-chunk mutable stream, may be memory inefficient. |
Defined in SDP.Templates.AnyChunks | |
Freeze1 m mut imm e => Freeze m (mut e) (AnyChunks imm e) | Creates one-chunk immutable stream, may be memory inefficient. |
Defined in SDP.Templates.AnyChunks | |
BorderedM1 m rep Int e => BorderedM m (AnyChunks rep e) Int | |
Defined in SDP.Templates.AnyChunks getBounds :: AnyChunks rep e -> m (Int, Int) # getLower :: AnyChunks rep e -> m Int # getUpper :: AnyChunks rep e -> m Int # getSizeOf :: AnyChunks rep e -> m Int # getSizesOf :: AnyChunks rep e -> m [Int] # nowIndexIn :: AnyChunks rep e -> Int -> m Bool # getOffsetOf :: AnyChunks rep e -> Int -> m Int # getIndexOf :: AnyChunks rep e -> Int -> m Int # getIndices :: AnyChunks rep e -> m [Int] # | |
(BorderedM1 m rep Int e, SplitM1 m rep e) => LinearM m (AnyChunks rep e) e | |
Defined in SDP.Templates.AnyChunks newNull :: m (AnyChunks rep e) # nowNull :: AnyChunks rep e -> m Bool # singleM :: e -> m (AnyChunks rep e) # getHead :: AnyChunks rep e -> m e # getLast :: AnyChunks rep e -> m e # prepend :: e -> AnyChunks rep e -> m (AnyChunks rep e) # append :: AnyChunks rep e -> e -> m (AnyChunks rep e) # newLinear :: [e] -> m (AnyChunks rep e) # newLinearN :: Int -> [e] -> m (AnyChunks rep e) # fromFoldableM :: Foldable f => f e -> m (AnyChunks rep e) # getLeft :: AnyChunks rep e -> m [e] # getRight :: AnyChunks rep e -> m [e] # (!#>) :: AnyChunks rep e -> Int -> m e # writeM :: AnyChunks rep e -> Int -> e -> m () # copied :: AnyChunks rep e -> m (AnyChunks rep e) # copied' :: AnyChunks rep e -> Int -> Int -> m (AnyChunks rep e) # reversed :: AnyChunks rep e -> m (AnyChunks rep e) # merged :: Foldable f => f (AnyChunks rep e) -> m (AnyChunks rep e) # filled :: Int -> e -> m (AnyChunks rep e) # copyTo :: AnyChunks rep e -> Int -> AnyChunks rep e -> Int -> Int -> m () # ofoldrM :: (Int -> e -> r -> m r) -> r -> AnyChunks rep e -> m r # ofoldlM :: (Int -> r -> e -> m r) -> r -> AnyChunks rep e -> m r # ofoldrM' :: (Int -> e -> r -> m r) -> r -> AnyChunks rep e -> m r # ofoldlM' :: (Int -> r -> e -> m r) -> r -> AnyChunks rep e -> m r # foldrM :: (e -> r -> m r) -> r -> AnyChunks rep e -> m r # foldlM :: (r -> e -> m r) -> r -> AnyChunks rep e -> m r # foldrM' :: (e -> r -> m r) -> r -> AnyChunks rep e -> m r # | |
(BorderedM1 m rep Int e, SplitM1 m rep e) => SplitM m (AnyChunks rep e) e | |
Defined in SDP.Templates.AnyChunks takeM :: Int -> AnyChunks rep e -> m (AnyChunks rep e) # dropM :: Int -> AnyChunks rep e -> m (AnyChunks rep e) # keepM :: Int -> AnyChunks rep e -> m (AnyChunks rep e) # sansM :: Int -> AnyChunks rep e -> m (AnyChunks rep e) # splitM :: Int -> AnyChunks rep e -> m (AnyChunks rep e, AnyChunks rep e) # divideM :: Int -> AnyChunks rep e -> m (AnyChunks rep e, AnyChunks rep e) # splitsM :: Foldable f => f Int -> AnyChunks rep e -> m [AnyChunks rep e] # dividesM :: Foldable f => f Int -> AnyChunks rep e -> m [AnyChunks rep e] # partsM :: Foldable f => f Int -> AnyChunks rep e -> m [AnyChunks rep e] # chunksM :: Int -> AnyChunks rep e -> m [AnyChunks rep e] # eachM :: Int -> AnyChunks rep e -> m (AnyChunks rep e) # prefixM :: (e -> Bool) -> AnyChunks rep e -> m Int # suffixM :: (e -> Bool) -> AnyChunks rep e -> m Int # | |
(BorderedM1 m rep Int e, SortM1 m rep e, SplitM1 m rep e, LinearM1 m rep e) => SortM m (AnyChunks rep e) e | |
(SplitM1 m rep e, IndexedM1 m rep Int e) => IndexedM m (AnyChunks rep e) Int e | |
Defined in SDP.Templates.AnyChunks fromAssocs :: (Int, Int) -> [(Int, e)] -> m (AnyChunks rep e) # fromAssocs' :: (Int, Int) -> e -> [(Int, e)] -> m (AnyChunks rep e) # writeM' :: AnyChunks rep e -> Int -> e -> m () # swapM' :: AnyChunks rep e -> Int -> Int -> m () # fromIndexed' :: Indexed v' j e => v' -> m (AnyChunks rep e) # fromIndexedM :: IndexedM m v' j e => v' -> m (AnyChunks rep e) # reshaped :: IndexedM m v' j e => (Int, Int) -> v' -> (Int -> j) -> m (AnyChunks rep e) # fromAccum :: (e -> e' -> e) -> AnyChunks rep e -> [(Int, e')] -> m (AnyChunks rep e) # | |
(SplitM1 m rep e, MapM1 m rep Int e, BorderedM1 m rep Int e) => MapM m (AnyChunks rep e) Int e | |
Defined in SDP.Templates.AnyChunks newMap :: [(Int, e)] -> m (AnyChunks rep e) # newMap' :: e -> [(Int, e)] -> m (AnyChunks rep e) # getAssocs :: AnyChunks rep e -> m [(Int, e)] # (>!) :: AnyChunks rep e -> Int -> m e # (!>) :: AnyChunks rep e -> Int -> m e # (!?>) :: AnyChunks rep e -> Int -> m (Maybe e) # updateM :: AnyChunks rep e -> (Int -> e -> e) -> m (AnyChunks rep e) # overwrite :: AnyChunks rep e -> [(Int, e)] -> m (AnyChunks rep e) # memberM' :: AnyChunks rep e -> Int -> m Bool # getKeys :: AnyChunks rep e -> m [Int] # (.?) :: (e -> Bool) -> AnyChunks rep e -> m (Maybe Int) # (*?) :: (e -> Bool) -> AnyChunks rep e -> m [Int] # kfoldrM :: (Int -> e -> acc -> m acc) -> acc -> AnyChunks rep e -> m acc # kfoldlM :: (Int -> acc -> e -> m acc) -> acc -> AnyChunks rep e -> m acc # kfoldrM' :: (Int -> e -> acc -> m acc) -> acc -> AnyChunks rep e -> m acc # kfoldlM' :: (Int -> acc -> e -> m acc) -> acc -> AnyChunks rep e -> m acc # | |
(Linear1 imm e, Thaw1 m imm mut e) => Thaw m (AnyChunks imm e) (mut e) | Creates new local immutable structure and thaw it as fast, as possible. |
Defined in SDP.Templates.AnyChunks | |
(LinearM1 m mut e, Freeze1 m mut imm e) => Freeze m (AnyChunks mut e) (imm e) | Creates new immutable structure using |
Defined in SDP.Templates.AnyChunks | |
Thaw1 m imm mut e => Thaw m (AnyChunks imm e) (AnyChunks mut e) | |
Defined in SDP.Templates.AnyChunks | |
Freeze1 m mut imm e => Freeze m (AnyChunks mut e) (AnyChunks imm e) | |
Defined in SDP.Templates.AnyChunks | |
Functor rep => Functor (AnyChunks rep) | |
Applicative rep => Applicative (AnyChunks rep) | |
Defined in SDP.Templates.AnyChunks 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) | |
Defined in SDP.Templates.AnyChunks 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) | |
Defined in SDP.Templates.AnyChunks | |
Linear1 (AnyChunks rep) e => IsList (AnyChunks rep e) | |
(Eq (rep e), Bordered1 rep Int e, Split1 rep e) => Eq (AnyChunks rep e) | |
(Typeable rep, Typeable e, Data (rep e)) => Data (AnyChunks rep e) | |
Defined in SDP.Templates.AnyChunks 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) | |
Defined in SDP.Templates.AnyChunks 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) | |
(Indexed1 rep Int e, Show e) => Show (AnyChunks rep e) | |
Indexed1 rep Int Char => Show (AnyChunks rep Char) | |
Linear1 (AnyChunks rep) Char => IsString (AnyChunks rep Char) | |
Defined in SDP.Templates.AnyChunks fromString :: String -> AnyChunks rep Char # | |
Generic (AnyChunks rep e) | |
Semigroup (AnyChunks rep e) | |
Monoid (AnyChunks rep e) | |
(Bordered1 rep Int e, Linear1 rep e, Arbitrary e) => Arbitrary (AnyChunks rep e) Source # | |
Default (AnyChunks rep e) | |
Defined in SDP.Templates.AnyChunks | |
Nullable (AnyChunks rep e) | |
Bordered1 rep Int e => Estimate (AnyChunks rep e) | |
Defined in SDP.Templates.AnyChunks (<.=>) :: AnyChunks rep e -> Int -> Ordering # (<==>) :: Compare (AnyChunks rep e) # (.==) :: AnyChunks rep e -> Int -> Bool # (./=) :: AnyChunks rep e -> Int -> Bool # (.<=) :: AnyChunks rep e -> Int -> Bool # (.>=) :: AnyChunks rep e -> Int -> Bool # (.<) :: AnyChunks rep e -> Int -> Bool # (.>) :: AnyChunks rep e -> Int -> Bool # (.<.) :: 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 # | |
Linear1 (AnyChunks rep) e => Scan (AnyChunks rep e) e | |
Defined in SDP.Templates.AnyChunks | |
(SetWith1 rep e, Linear1 rep e, Ord (rep e), Bordered1 rep Int e) => SetWith (AnyChunks rep e) e | |
Defined in SDP.Templates.AnyChunks setWith :: Compare e -> AnyChunks rep e -> AnyChunks rep e # groupSetWith :: Compare e -> (e -> e -> e) -> AnyChunks rep e -> AnyChunks rep e # insertWith :: Compare e -> e -> AnyChunks rep e -> AnyChunks rep e # deleteWith :: Compare e -> e -> AnyChunks rep e -> AnyChunks rep e # intersectionWith :: Compare e -> AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e # differenceWith :: Compare e -> AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e # symdiffWith :: Compare e -> AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e # unionWith :: Compare e -> AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e # intersectionsWith :: Foldable f => Compare e -> f (AnyChunks rep e) -> AnyChunks rep e # differencesWith :: Foldable f => Compare e -> f (AnyChunks rep e) -> AnyChunks rep e # unionsWith :: Foldable f => Compare e -> f (AnyChunks rep e) -> AnyChunks rep e # symdiffsWith :: Foldable f => Compare e -> f (AnyChunks rep e) -> AnyChunks rep e # isIntersectsWith :: Compare e -> AnyChunks rep e -> AnyChunks rep e -> Bool # isDisjointWith :: Compare e -> AnyChunks rep e -> AnyChunks rep e -> Bool # memberWith :: Compare e -> e -> AnyChunks rep e -> Bool # isSubsetWith :: Compare e -> AnyChunks rep e -> AnyChunks rep e -> Bool # subsets :: AnyChunks rep e -> [AnyChunks rep e] # lookupLTWith :: Compare e -> e -> AnyChunks rep e -> Maybe e # lookupGTWith :: Compare e -> e -> AnyChunks rep e -> Maybe e # lookupGEWith :: Compare e -> e -> AnyChunks rep e -> Maybe e # lookupLEWith :: Compare e -> e -> AnyChunks rep e -> Maybe e # | |
(Nullable (AnyChunks rep e), SetWith1 (AnyChunks rep) e, Ord e) => Set (AnyChunks rep e) e | |
Defined in SDP.Templates.AnyChunks set :: AnyChunks rep e -> AnyChunks rep e # insert :: e -> AnyChunks rep e -> AnyChunks rep e # delete :: e -> AnyChunks rep e -> AnyChunks rep e # (/\) :: AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e # (\/) :: AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e # (\\) :: AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e # (\^/) :: AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e # (/?\) :: AnyChunks rep e -> AnyChunks rep e -> Bool # (\?/) :: AnyChunks rep e -> AnyChunks rep e -> Bool # (\+/) :: AnyChunks rep e -> AnyChunks rep e -> Bool # intersections :: Foldable f => f (AnyChunks rep e) -> AnyChunks rep e # unions :: Foldable f => f (AnyChunks rep e) -> AnyChunks rep e # differences :: Foldable f => f (AnyChunks rep e) -> AnyChunks rep e # symdiffs :: Foldable f => f (AnyChunks rep e) -> AnyChunks rep e # member :: e -> AnyChunks rep e -> Bool # lookupLT :: e -> AnyChunks rep e -> Maybe e # lookupGT :: e -> AnyChunks rep e -> Maybe e # | |
Bordered1 rep Int e => Bordered (AnyChunks rep e) Int | |
Defined in SDP.Templates.AnyChunks bounds :: AnyChunks rep e -> (Int, Int) # lower :: AnyChunks rep e -> Int # upper :: AnyChunks rep e -> Int # sizeOf :: AnyChunks rep e -> Int # sizesOf :: AnyChunks rep e -> [Int] # indexIn :: AnyChunks rep e -> Int -> Bool # indices :: AnyChunks rep e -> [Int] # | |
(Bordered1 rep Int e, Linear1 rep e) => Linear (AnyChunks rep e) e | |
Defined in SDP.Templates.AnyChunks uncons :: AnyChunks rep e -> (e, AnyChunks rep e) # uncons' :: AnyChunks rep e -> Maybe (e, AnyChunks rep e) # toHead :: e -> AnyChunks rep e -> AnyChunks rep e # head :: AnyChunks rep e -> e # tail :: AnyChunks rep e -> AnyChunks rep e # unsnoc :: AnyChunks rep e -> (AnyChunks rep e, e) # unsnoc' :: AnyChunks rep e -> Maybe (AnyChunks rep e, e) # toLast :: AnyChunks rep e -> e -> AnyChunks rep e # init :: AnyChunks rep e -> AnyChunks rep e # last :: AnyChunks rep e -> e # single :: e -> AnyChunks rep e # (++) :: AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e # replicate :: Int -> e -> AnyChunks rep e # fromList :: [e] -> AnyChunks rep e # fromListN :: Int -> [e] -> AnyChunks rep e # listR :: AnyChunks rep e -> [e] # listL :: AnyChunks rep e -> [e] # fromFoldable :: Foldable f => f e -> AnyChunks rep e # (!^) :: AnyChunks rep e -> Int -> e # write :: AnyChunks rep e -> Int -> e -> AnyChunks rep e # concat :: Foldable f => f (AnyChunks rep e) -> AnyChunks rep e # concatMap :: Foldable f => (a -> AnyChunks rep e) -> f a -> AnyChunks rep e # intersperse :: e -> AnyChunks rep e -> AnyChunks rep e # filter :: (e -> Bool) -> AnyChunks rep e -> AnyChunks rep e # except :: (e -> Bool) -> AnyChunks rep e -> AnyChunks rep e # partition :: (e -> Bool) -> AnyChunks rep e -> (AnyChunks rep e, AnyChunks rep e) # partitions :: Foldable f => f (e -> Bool) -> AnyChunks rep e -> [AnyChunks rep e] # select :: (e -> Maybe a) -> AnyChunks rep e -> [a] # select' :: (t e ~ AnyChunks rep e, Linear1 t a) => (e -> Maybe a) -> AnyChunks rep e -> t a # extract :: (e -> Maybe a) -> AnyChunks rep e -> ([a], AnyChunks rep e) # extract' :: (t e ~ AnyChunks rep e, Linear1 t a) => (e -> Maybe a) -> AnyChunks rep e -> (t a, AnyChunks rep e) # selects :: Foldable f => f (e -> Maybe a) -> AnyChunks rep e -> ([[a]], AnyChunks rep e) # selects' :: (Foldable f, t e ~ AnyChunks rep e, Linear1 t a) => f (e -> Maybe a) -> AnyChunks rep e -> ([t a], AnyChunks rep e) # isSubseqOf :: AnyChunks rep e -> AnyChunks rep e -> Bool # reverse :: AnyChunks rep e -> AnyChunks rep e # force :: AnyChunks rep e -> AnyChunks rep e # subsequences :: AnyChunks rep e -> [AnyChunks rep e] # iterate :: Int -> (e -> e) -> e -> AnyChunks rep e # nub :: AnyChunks rep e -> AnyChunks rep e # nubBy :: Equal e -> AnyChunks rep e -> AnyChunks rep e # ofoldr :: (Int -> e -> b -> b) -> b -> AnyChunks rep e -> b # ofoldl :: (Int -> b -> e -> b) -> b -> AnyChunks rep e -> b # ofoldr' :: (Int -> e -> b -> b) -> b -> AnyChunks rep e -> b # ofoldl' :: (Int -> b -> e -> b) -> b -> AnyChunks rep e -> b # o_foldr :: (e -> b -> b) -> b -> AnyChunks rep e -> b # o_foldl :: (b -> e -> b) -> b -> AnyChunks rep e -> b # | |
(Bordered1 rep Int e, Split1 rep e) => Split (AnyChunks rep e) e | |
Defined in SDP.Templates.AnyChunks take :: Int -> AnyChunks rep e -> AnyChunks rep e # drop :: Int -> AnyChunks rep e -> AnyChunks rep e # keep :: Int -> AnyChunks rep e -> AnyChunks rep e # sans :: Int -> AnyChunks rep e -> AnyChunks rep e # save :: Int -> AnyChunks rep e -> AnyChunks rep e # skip :: Int -> AnyChunks rep e -> AnyChunks rep e # split :: Int -> AnyChunks rep e -> (AnyChunks rep e, AnyChunks rep e) # divide :: Int -> AnyChunks rep e -> (AnyChunks rep e, AnyChunks rep e) # splits :: Foldable f => f Int -> AnyChunks rep e -> [AnyChunks rep e] # divides :: Foldable f => f Int -> AnyChunks rep e -> [AnyChunks rep e] # parts :: Foldable f => f Int -> AnyChunks rep e -> [AnyChunks rep e] # chunks :: Int -> AnyChunks rep e -> [AnyChunks rep e] # splitBy :: (e -> Bool) -> AnyChunks rep e -> (AnyChunks rep e, AnyChunks rep e) # divideBy :: (e -> Bool) -> AnyChunks rep e -> (AnyChunks rep e, AnyChunks rep e) # splitsBy :: (e -> Bool) -> AnyChunks rep e -> [AnyChunks rep e] # splitsOn :: AnyChunks rep e -> AnyChunks rep e -> [AnyChunks rep e] # replaceBy :: AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e # removeAll :: AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e # combo :: Equal e -> AnyChunks rep e -> Int # justifyL :: Int -> e -> AnyChunks rep e -> AnyChunks rep e # justifyR :: Int -> e -> AnyChunks rep e -> AnyChunks rep e # each :: Int -> AnyChunks rep e -> AnyChunks rep e # eachFrom :: Int -> Int -> AnyChunks rep e -> AnyChunks rep e # isPrefixOf :: AnyChunks rep e -> AnyChunks rep e -> Bool # isSuffixOf :: AnyChunks rep e -> AnyChunks rep e -> Bool # isInfixOf :: AnyChunks rep e -> AnyChunks rep e -> Bool # prefix :: (e -> Bool) -> AnyChunks rep e -> Int # suffix :: (e -> Bool) -> AnyChunks rep e -> Int # infixes :: AnyChunks rep e -> AnyChunks rep e -> [Int] # dropSide :: (e -> Bool) -> AnyChunks rep e -> AnyChunks rep e # takeWhile :: (e -> Bool) -> AnyChunks rep e -> AnyChunks rep e # dropWhile :: (e -> Bool) -> AnyChunks rep e -> AnyChunks rep e # takeEnd :: (e -> Bool) -> AnyChunks rep e -> AnyChunks rep e # dropEnd :: (e -> Bool) -> AnyChunks rep e -> AnyChunks rep e # spanl :: (e -> Bool) -> AnyChunks rep e -> (AnyChunks rep e, AnyChunks rep e) # breakl :: (e -> Bool) -> AnyChunks rep e -> (AnyChunks rep e, AnyChunks rep e) # spanr :: (e -> Bool) -> AnyChunks rep e -> (AnyChunks rep e, AnyChunks rep e) # breakr :: (e -> Bool) -> AnyChunks rep e -> (AnyChunks rep e, AnyChunks rep e) # selectWhile :: (e -> Maybe a) -> AnyChunks rep e -> [a] # selectEnd :: (e -> Maybe a) -> AnyChunks rep e -> [a] # extractWhile :: (e -> Maybe a) -> AnyChunks rep e -> ([a], AnyChunks rep e) # extractEnd :: (e -> Maybe a) -> AnyChunks rep e -> (AnyChunks rep e, [a]) # selectWhile' :: (t e ~ l, Split1 t a) => (e -> Maybe a) -> AnyChunks rep e -> t a # selectEnd' :: (t e ~ l, Split1 t a) => (e -> Maybe a) -> AnyChunks rep e -> t a # extractWhile' :: (t e ~ l, Split1 t a) => (e -> Maybe a) -> AnyChunks rep e -> (t a, AnyChunks rep e) # extractEnd' :: (t e ~ l, Split1 t a) => (e -> Maybe a) -> AnyChunks rep e -> (AnyChunks rep e, t a) # | |
Indexed1 rep Int e => Indexed (AnyChunks rep e) Int e | |
Defined in SDP.Templates.AnyChunks assoc :: (Int, Int) -> [(Int, e)] -> AnyChunks rep e # assoc' :: (Int, Int) -> e -> [(Int, e)] -> AnyChunks rep e # fromIndexed :: Indexed m j e => m -> AnyChunks rep e # write' :: AnyChunks rep e -> Int -> e -> AnyChunks rep e # accum :: (e -> e' -> e) -> AnyChunks rep e -> [(Int, e')] -> AnyChunks rep e # imap :: Map m j e => (Int, Int) -> m -> (Int -> j) -> AnyChunks rep e # update' :: AnyChunks rep e -> (e -> e) -> Int -> AnyChunks rep e # updates' :: AnyChunks rep e -> (Int -> e -> e) -> AnyChunks rep e # | |
Indexed1 rep Int e => Map (AnyChunks rep e) Int e | |
Defined in SDP.Templates.AnyChunks assocs :: AnyChunks rep e -> [(Int, e)] # toMap :: [(Int, e)] -> AnyChunks rep e # toMap' :: e -> [(Int, e)] -> AnyChunks rep e # insert' :: Int -> e -> AnyChunks rep e -> AnyChunks rep e # delete' :: Int -> AnyChunks rep e -> AnyChunks rep e # member' :: Int -> AnyChunks rep e -> Bool # (//) :: AnyChunks rep e -> [(Int, e)] -> AnyChunks rep e # (.!) :: AnyChunks rep e -> Int -> e # (!) :: AnyChunks rep e -> Int -> e # (!?) :: AnyChunks rep e -> Int -> Maybe e # filter' :: (Int -> e -> Bool) -> AnyChunks rep e -> AnyChunks rep e # union' :: (e -> e -> e) -> AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e # difference' :: (e -> e -> Maybe e) -> AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e # intersection' :: (e -> e -> e) -> AnyChunks rep e -> AnyChunks rep e -> AnyChunks rep e # update :: AnyChunks rep e -> (Int -> e -> e) -> AnyChunks rep e # lookupLT' :: Int -> AnyChunks rep e -> Maybe (Int, e) # lookupGT' :: Int -> AnyChunks rep e -> Maybe (Int, e) # lookupLE' :: Int -> AnyChunks rep e -> Maybe (Int, e) # lookupGE' :: Int -> AnyChunks rep e -> Maybe (Int, e) # keys :: AnyChunks rep e -> [Int] # (.$) :: (e -> Bool) -> AnyChunks rep e -> Maybe Int # (*$) :: (e -> Bool) -> AnyChunks rep e -> [Int] # kfoldr :: (Int -> e -> b -> b) -> b -> AnyChunks rep e -> b # kfoldl :: (Int -> b -> e -> b) -> b -> AnyChunks rep e -> b # kfoldr' :: (Int -> e -> b -> b) -> b -> AnyChunks rep e -> b # kfoldl' :: (Int -> b -> e -> b) -> b -> AnyChunks rep e -> b # | |
type Rep (AnyChunks rep e) | |
Defined in SDP.Templates.AnyChunks | |
type Item (AnyChunks rep e) | |
Defined in SDP.Templates.AnyChunks |
Orphan instances
Arbitrary E Source # | |
Arbitrary e => Arbitrary (SArray# e) Source # | |
(Unboxed e, Arbitrary e) => Arbitrary (SBytes# e) Source # | |
(Bordered1 rep Int e, Linear1 rep e, Arbitrary e) => Arbitrary (AnyChunks rep e) Source # | |
(Arbitrary i, Arbitrary i') => Arbitrary (i' :& i) Source # | |
(Index i, Bordered1 rep Int e, Arbitrary (rep e)) => Arbitrary (AnyBorder rep i e) Source # | |