| 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
Contents
Description
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.
Constructors
| 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods (<.=>) :: 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 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
| 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 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) | |
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) | |
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) # | |
| 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 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) | |
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) | |
| (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 Methods 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 Methods (<.=>) :: 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 # | |