Agda-2.6.2.2: A dependently typed functional programming language and proof assistant

Safe Haskell | Safe-Inferred
Language | Haskell2010

Agda.Utils.SmallSet

Description

Small sets represented as immutable bit arrays for fast membership checking.

Membership checking is O(1), but all other operations are O(n) where n is the size of the element type. The element type needs to implement `Bounded` and `Ix`.

Mimics the interface of `Set`.

Import as: `import qualified Agda.Utils.SmallSet as SmallSet import Agda.Utils.SmallSet (SmallSet)`

Synopsis

- data SmallSet a
- class Ord a => Ix a
- (\\) :: SmallSetElement a => SmallSet a -> SmallSet a -> SmallSet a
- complement :: SmallSetElement a => SmallSet a -> SmallSet a
- delete :: SmallSetElement a => a -> SmallSet a -> SmallSet a
- difference :: SmallSetElement a => SmallSet a -> SmallSet a -> SmallSet a
- elems :: SmallSetElement a => SmallSet a -> [a]
- empty :: SmallSetElement a => SmallSet a
- fromList :: SmallSetElement a => [a] -> SmallSet a
- fromAscList :: SmallSetElement a => [a] -> SmallSet a
- fromDistinctAscList :: SmallSetElement a => [a] -> SmallSet a
- insert :: SmallSetElement a => a -> SmallSet a -> SmallSet a
- intersection :: SmallSetElement a => SmallSet a -> SmallSet a -> SmallSet a
- isSubsetOf :: SmallSetElement a => SmallSet a -> SmallSet a -> Bool
- mapMemberShip :: SmallSetElement a => (Bool -> Bool) -> SmallSet a -> SmallSet a
- member :: SmallSetElement a => a -> SmallSet a -> Bool
- notMember :: SmallSetElement a => a -> SmallSet a -> Bool
- null :: SmallSetElement a => SmallSet a -> Bool
- singleton :: SmallSetElement a => a -> SmallSet a
- toList :: SmallSetElement a => SmallSet a -> [a]
- toAscList :: SmallSetElement a => SmallSet a -> [a]
- total :: SmallSetElement a => SmallSet a
- union :: SmallSetElement a => SmallSet a -> SmallSet a -> SmallSet a
- zipMemberShipWith :: SmallSetElement a => (Bool -> Bool -> Bool) -> SmallSet a -> SmallSet a -> SmallSet a

# Documentation

data SmallSet a Source #

#### Instances

Instances details

(Data a, Ix a) => Data (SmallSet a) Source # |

Instance details

Defined in Agda.Utils.SmallSet

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SmallSet a -> c (SmallSet a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (SmallSet a) Source #

toConstr :: SmallSet a -> Constr Source #

dataTypeOf :: SmallSet a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (SmallSet a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (SmallSet a)) Source #

gmapT :: (forall b. Data b => b -> b) -> SmallSet a -> SmallSet a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SmallSet a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SmallSet a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> SmallSet a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SmallSet a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SmallSet a -> m (SmallSet a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SmallSet a -> m (SmallSet a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SmallSet a -> m (SmallSet a) Source #

(Ix a, Show a) => Show (SmallSet a) Source # |
Instance details Defined in Agda.Utils.SmallSet Methods showsPrec :: Int -> SmallSet a -> ShowS Source # show :: SmallSet a -> String Source # showList :: [SmallSet a] -> ShowS Source #
NFData a => NFData (SmallSet a) Source # |
Instance details Defined in Agda.Utils.SmallSet Methods rnf :: SmallSet a -> () Source #
Ix a => Eq (SmallSet a) Source # |
Instance details Defined in Agda.Utils.SmallSet Methods (==) :: SmallSet a -> SmallSet a -> Bool Source # (/=) :: SmallSet a -> SmallSet a -> Bool Source #
Ix a => Ord (SmallSet a) Source # |

Instance details

Defined in Agda.Utils.SmallSet

Methods

compare :: SmallSet a -> SmallSet a -> Ordering Source #

(<) :: SmallSet a -> SmallSet a -> Bool Source #

(<=) :: SmallSet a -> SmallSet a -> Bool Source #

(>) :: SmallSet a -> SmallSet a -> Bool Source #

(>=) :: SmallSet a -> SmallSet a -> Bool Source #

max :: SmallSet a -> SmallSet a -> SmallSet a Source #

min :: SmallSet a -> SmallSet a -> SmallSet a Source #

class Ord a => Ix a Source #

The `Ix` class is used to map a contiguous subrange of values in a type onto integers. It is used primarily for array indexing (see the array package).

The first argument `(l,u)` of each of these operations is a pair specifying the lower and upper bounds of a contiguous subrange of values.

An implementation is entitled to assume the following laws about these operations:

- ``inRange` (l,u) i == `elem` i (`range` (l,u))` ``
- ``range` (l,u) `!!` `index` (l,u) i == i`, when ``inRange` (l,u) i`
- ``map` (`index` (l,u)) (`range` (l,u))) == [0..`rangeSize` (l,u)-1]` ``
- ``rangeSize` (l,u) == `length` (`range` (l,u))` ``

Minimal complete definition

range, (index | unsafeIndex), inRange

#### Instances

Instances details

Ix AllowedReduction Source # |

Instance details

Defined in Agda.TypeChecking.Monad.Base

Methods

range :: (AllowedReduction, AllowedReduction) -> [AllowedReduction] Source #

index :: (AllowedReduction, AllowedReduction) -> AllowedReduction -> Int Source #

unsafeIndex :: (AllowedReduction, AllowedReduction) -> AllowedReduction -> Int Source #

inRange :: (AllowedReduction, AllowedReduction) -> AllowedReduction -> Bool Source #

rangeSize :: (AllowedReduction, AllowedReduction) -> Int Source #

unsafeRangeSize :: (AllowedReduction, AllowedReduction) -> Int Source #

Ix Void | Since: base-4.8.0.0
Instance details Defined in Data.Void Methods range :: (Void, Void) -> [Void] Source # index :: (Void, Void) -> Void -> Int Source # unsafeIndex :: (Void, Void) -> Void -> Int Source # inRange :: (Void, Void) -> Void -> Bool Source # rangeSize :: (Void, Void) -> Int Source # unsafeRangeSize :: (Void, Void) -> Int Source #
Ix Associativity | Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

range :: (Associativity, Associativity) -> [Associativity] Source #

index :: (Associativity, Associativity) -> Associativity -> Int Source #

unsafeIndex :: (Associativity, Associativity) -> Associativity -> Int Source #

inRange :: (Associativity, Associativity) -> Associativity -> Bool Source #

rangeSize :: (Associativity, Associativity) -> Int Source #

unsafeRangeSize :: (Associativity, Associativity) -> Int Source #

Ix DecidedStrictness | Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

range :: (DecidedStrictness, DecidedStrictness) -> [DecidedStrictness] Source #

index :: (DecidedStrictness, DecidedStrictness) -> DecidedStrictness -> Int Source #

unsafeIndex :: (DecidedStrictness, DecidedStrictness) -> DecidedStrictness -> Int Source #

inRange :: (DecidedStrictness, DecidedStrictness) -> DecidedStrictness -> Bool Source #

rangeSize :: (DecidedStrictness, DecidedStrictness) -> Int Source #

unsafeRangeSize :: (DecidedStrictness, DecidedStrictness) -> Int Source #

Ix SourceStrictness | Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

range :: (SourceStrictness, SourceStrictness) -> [SourceStrictness] Source #

index :: (SourceStrictness, SourceStrictness) -> SourceStrictness -> Int Source #

unsafeIndex :: (SourceStrictness, SourceStrictness) -> SourceStrictness -> Int Source #

inRange :: (SourceStrictness, SourceStrictness) -> SourceStrictness -> Bool Source #

rangeSize :: (SourceStrictness, SourceStrictness) -> Int Source #

unsafeRangeSize :: (SourceStrictness, SourceStrictness) -> Int Source #

Ix SourceUnpackedness | Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

range :: (SourceUnpackedness, SourceUnpackedness) -> [SourceUnpackedness] Source #

index :: (SourceUnpackedness, SourceUnpackedness) -> SourceUnpackedness -> Int Source #

unsafeIndex :: (SourceUnpackedness, SourceUnpackedness) -> SourceUnpackedness -> Int Source #

inRange :: (SourceUnpackedness, SourceUnpackedness) -> SourceUnpackedness -> Bool Source #

rangeSize :: (SourceUnpackedness, SourceUnpackedness) -> Int Source #

unsafeRangeSize :: (SourceUnpackedness, SourceUnpackedness) -> Int Source #

Ix SeekMode | Since: base-4.2.0.0
Instance details Defined in GHC.IO.Device Methods range :: (SeekMode, SeekMode) -> [SeekMode] Source # index :: (SeekMode, SeekMode) -> SeekMode -> Int Source # unsafeIndex :: (SeekMode, SeekMode) -> SeekMode -> Int Source # inRange :: (SeekMode, SeekMode) -> SeekMode -> Bool Source # rangeSize :: (SeekMode, SeekMode) -> Int Source # unsafeRangeSize :: (SeekMode, SeekMode) -> Int Source #
Ix IOMode | Since: base-4.2.0.0
Instance details Defined in GHC.IO.IOMode Methods range :: (IOMode, IOMode) -> [IOMode] Source # index :: (IOMode, IOMode) -> IOMode -> Int Source # unsafeIndex :: (IOMode, IOMode) -> IOMode -> Int Source # inRange :: (IOMode, IOMode) -> IOMode -> Bool Source # rangeSize :: (IOMode, IOMode) -> Int Source # unsafeRangeSize :: (IOMode, IOMode) -> Int Source #
Ix Int16 | Since: base-2.1
Instance details Defined in GHC.Int Methods range :: (Int16, Int16) -> [Int16] Source # index :: (Int16, Int16) -> Int16 -> Int Source # unsafeIndex :: (Int16, Int16) -> Int16 -> Int Source # inRange :: (Int16, Int16) -> Int16 -> Bool Source # rangeSize :: (Int16, Int16) -> Int Source # unsafeRangeSize :: (Int16, Int16) -> Int Source #
Ix Int32 | Since: base-2.1
Instance details Defined in GHC.Int Methods range :: (Int32, Int32) -> [Int32] Source # index :: (Int32, Int32) -> Int32 -> Int Source # unsafeIndex :: (Int32, Int32) -> Int32 -> Int Source # inRange :: (Int32, Int32) -> Int32 -> Bool Source # rangeSize :: (Int32, Int32) -> Int Source # unsafeRangeSize :: (Int32, Int32) -> Int Source #
Ix Int64 | Since: base-2.1
Instance details Defined in GHC.Int Methods range :: (Int64, Int64) -> [Int64] Source # index :: (Int64, Int64) -> Int64 -> Int Source # unsafeIndex :: (Int64, Int64) -> Int64 -> Int Source # inRange :: (Int64, Int64) -> Int64 -> Bool Source # rangeSize :: (Int64, Int64) -> Int Source # unsafeRangeSize :: (Int64, Int64) -> Int Source #
Ix Int8 | Since: base-2.1
Instance details Defined in GHC.Int Methods range :: (Int8, Int8) -> [Int8] Source # index :: (Int8, Int8) -> Int8 -> Int Source # unsafeIndex :: (Int8, Int8) -> Int8 -> Int Source # inRange :: (Int8, Int8) -> Int8 -> Bool Source # rangeSize :: (Int8, Int8) -> Int Source # unsafeRangeSize :: (Int8, Int8) -> Int Source #
Ix GeneralCategory | Since: base-2.1

Instance details

Defined in GHC.Unicode

Methods

range :: (GeneralCategory, GeneralCategory) -> [GeneralCategory] Source #

index :: (GeneralCategory, GeneralCategory) -> GeneralCategory -> Int Source #

unsafeIndex :: (GeneralCategory, GeneralCategory) -> GeneralCategory -> Int Source #

inRange :: (GeneralCategory, GeneralCategory) -> GeneralCategory -> Bool Source #

rangeSize :: (GeneralCategory, GeneralCategory) -> Int Source #

unsafeRangeSize :: (GeneralCategory, GeneralCategory) -> Int Source #

Ix Word16 | Since: base-2.1
Instance details Defined in GHC.Word Methods range :: (Word16, Word16) -> [Word16] Source # index :: (Word16, Word16) -> Word16 -> Int Source # unsafeIndex :: (Word16, Word16) -> Word16 -> Int Source # inRange :: (Word16, Word16) -> Word16 -> Bool Source # rangeSize :: (Word16, Word16) -> Int Source # unsafeRangeSize :: (Word16, Word16) -> Int Source #
Ix Word32 | Since: base-2.1
Instance details Defined in GHC.Word Methods range :: (Word32, Word32) -> [Word32] Source # index :: (Word32, Word32) -> Word32 -> Int Source # unsafeIndex :: (Word32, Word32) -> Word32 -> Int Source # inRange :: (Word32, Word32) -> Word32 -> Bool Source # rangeSize :: (Word32, Word32) -> Int Source # unsafeRangeSize :: (Word32, Word32) -> Int Source #
Ix Word64 | Since: base-2.1
Instance details Defined in GHC.Word Methods range :: (Word64, Word64) -> [Word64] Source # index :: (Word64, Word64) -> Word64 -> Int Source # unsafeIndex :: (Word64, Word64) -> Word64 -> Int Source # inRange :: (Word64, Word64) -> Word64 -> Bool Source # rangeSize :: (Word64, Word64) -> Int Source # unsafeRangeSize :: (Word64, Word64) -> Int Source #
Ix Ordering | Since: base-2.1
Instance details Defined in GHC.Ix Methods range :: (Ordering, Ordering) -> [Ordering] Source # index :: (Ordering, Ordering) -> Ordering -> Int Source # unsafeIndex :: (Ordering, Ordering) -> Ordering -> Int Source # inRange :: (Ordering, Ordering) -> Ordering -> Bool Source # rangeSize :: (Ordering, Ordering) -> Int Source # unsafeRangeSize :: (Ordering, Ordering) -> Int Source #
Ix Day |
Instance details Defined in Data.Time.Calendar.Days Methods range :: (Day, Day) -> [Day] Source # index :: (Day, Day) -> Day -> Int Source # unsafeIndex :: (Day, Day) -> Day -> Int Source # inRange :: (Day, Day) -> Day -> Bool Source # rangeSize :: (Day, Day) -> Int Source # unsafeRangeSize :: (Day, Day) -> Int Source #
Ix Month |
Instance details Defined in Data.Time.Calendar.Month.Compat Methods range :: (Month, Month) -> [Month] Source # index :: (Month, Month) -> Month -> Int Source # unsafeIndex :: (Month, Month) -> Month -> Int Source # inRange :: (Month, Month) -> Month -> Bool Source # rangeSize :: (Month, Month) -> Int Source # unsafeRangeSize :: (Month, Month) -> Int Source #
Ix Quarter |
Instance details Defined in Data.Time.Calendar.Quarter.Compat Methods range :: (Quarter, Quarter) -> [Quarter] Source # index :: (Quarter, Quarter) -> Quarter -> Int Source # unsafeIndex :: (Quarter, Quarter) -> Quarter -> Int Source # inRange :: (Quarter, Quarter) -> Quarter -> Bool Source # rangeSize :: (Quarter, Quarter) -> Int Source # unsafeRangeSize :: (Quarter, Quarter) -> Int Source #
Ix Word8 | Since: base-2.1
Instance details Defined in GHC.Word Methods range :: (Word8, Word8) -> [Word8] Source # index :: (Word8, Word8) -> Word8 -> Int Source # unsafeIndex :: (Word8, Word8) -> Word8 -> Int Source # inRange :: (Word8, Word8) -> Word8 -> Bool Source # rangeSize :: (Word8, Word8) -> Int Source # unsafeRangeSize :: (Word8, Word8) -> Int Source #
Ix Integer | Since: base-2.1
Instance details Defined in GHC.Ix Methods range :: (Integer, Integer) -> [Integer] Source # index :: (Integer, Integer) -> Integer -> Int Source # unsafeIndex :: (Integer, Integer) -> Integer -> Int Source # inRange :: (Integer, Integer) -> Integer -> Bool Source # rangeSize :: (Integer, Integer) -> Int Source # unsafeRangeSize :: (Integer, Integer) -> Int Source #
Ix Natural | Since: base-4.8.0.0
Instance details Defined in GHC.Ix Methods range :: (Natural, Natural) -> [Natural] Source # index :: (Natural, Natural) -> Natural -> Int Source # unsafeIndex :: (Natural, Natural) -> Natural -> Int Source # inRange :: (Natural, Natural) -> Natural -> Bool Source # rangeSize :: (Natural, Natural) -> Int Source # unsafeRangeSize :: (Natural, Natural) -> Int Source #
Ix () | Since: base-2.1
Instance details Defined in GHC.Ix Methods range :: ((), ()) -> [()] Source # index :: ((), ()) -> () -> Int Source # unsafeIndex :: ((), ()) -> () -> Int Source # inRange :: ((), ()) -> () -> Bool Source # rangeSize :: ((), ()) -> Int Source # unsafeRangeSize :: ((), ()) -> Int Source #
Ix Bool | Since: base-2.1
Instance details Defined in GHC.Ix Methods range :: (Bool, Bool) -> [Bool] Source # index :: (Bool, Bool) -> Bool -> Int Source # unsafeIndex :: (Bool, Bool) -> Bool -> Int Source # inRange :: (Bool, Bool) -> Bool -> Bool Source # rangeSize :: (Bool, Bool) -> Int Source # unsafeRangeSize :: (Bool, Bool) -> Int Source #
Ix Char | Since: base-2.1
Instance details Defined in GHC.Ix Methods range :: (Char, Char) -> [Char] Source # index :: (Char, Char) -> Char -> Int Source # unsafeIndex :: (Char, Char) -> Char -> Int Source # inRange :: (Char, Char) -> Char -> Bool Source # rangeSize :: (Char, Char) -> Int Source # unsafeRangeSize :: (Char, Char) -> Int Source #
Ix Int | Since: base-2.1
Instance details Defined in GHC.Ix Methods range :: (Int, Int) -> [Int] Source # index :: (Int, Int) -> Int -> Int Source # unsafeIndex :: (Int, Int) -> Int -> Int Source # inRange :: (Int, Int) -> Int -> Bool Source # rangeSize :: (Int, Int) -> Int Source # unsafeRangeSize :: (Int, Int) -> Int Source #
Ix Word | Since: base-4.6.0.0
Instance details Defined in GHC.Ix Methods range :: (Word, Word) -> [Word] Source # index :: (Word, Word) -> Word -> Int Source # unsafeIndex :: (Word, Word) -> Word -> Int Source # inRange :: (Word, Word) -> Word -> Bool Source # rangeSize :: (Word, Word) -> Int Source # unsafeRangeSize :: (Word, Word) -> Int Source #
Ix i => Ix (MIx i) Source # |
Instance details Defined in Agda.Termination.SparseMatrix Methods range :: (MIx i, MIx i) -> [MIx i] Source # index :: (MIx i, MIx i) -> MIx i -> Int Source # unsafeIndex :: (MIx i, MIx i) -> MIx i -> Int Source # inRange :: (MIx i, MIx i) -> MIx i -> Bool Source # rangeSize :: (MIx i, MIx i) -> Int Source # unsafeRangeSize :: (MIx i, MIx i) -> Int Source #
Ix a => Ix (Identity a) | Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Methods

range :: (Identity a, Identity a) -> [Identity a] Source #

index :: (Identity a, Identity a) -> Identity a -> Int Source #

unsafeIndex :: (Identity a, Identity a) -> Identity a -> Int Source #

inRange :: (Identity a, Identity a) -> Identity a -> Bool Source #

rangeSize :: (Identity a, Identity a) -> Int Source #

unsafeRangeSize :: (Identity a, Identity a) -> Int Source #

Ix a => Ix (Down a) | Since: base-4.14.0.0
Instance details Defined in Data.Ord Methods range :: (Down a, Down a) -> [Down a] Source # index :: (Down a, Down a) -> Down a -> Int Source # unsafeIndex :: (Down a, Down a) -> Down a -> Int Source # inRange :: (Down a, Down a) -> Down a -> Bool Source # rangeSize :: (Down a, Down a) -> Int Source # unsafeRangeSize :: (Down a, Down a) -> Int Source #
Ix (Proxy s) | Since: base-4.7.0.0
Instance details Defined in Data.Proxy Methods range :: (Proxy s, Proxy s) -> [Proxy s] Source # index :: (Proxy s, Proxy s) -> Proxy s -> Int Source # unsafeIndex :: (Proxy s, Proxy s) -> Proxy s -> Int Source # inRange :: (Proxy s, Proxy s) -> Proxy s -> Bool Source # rangeSize :: (Proxy s, Proxy s) -> Int Source # unsafeRangeSize :: (Proxy s, Proxy s) -> Int Source #
(Ix a, Ix b) => Ix (Pair a b) |
Instance details Defined in Data.Strict.Tuple Methods range :: (Pair a b, Pair a b) -> [Pair a b] Source # index :: (Pair a b, Pair a b) -> Pair a b -> Int Source # unsafeIndex :: (Pair a b, Pair a b) -> Pair a b -> Int Source # inRange :: (Pair a b, Pair a b) -> Pair a b -> Bool Source # rangeSize :: (Pair a b, Pair a b) -> Int Source # unsafeRangeSize :: (Pair a b, Pair a b) -> Int Source #
(Ix a, Ix b) => Ix (a, b) | Since: base-2.1
Instance details Defined in GHC.Ix Methods range :: ((a, b), (a, b)) -> [(a, b)] Source # index :: ((a, b), (a, b)) -> (a, b) -> Int Source # unsafeIndex :: ((a, b), (a, b)) -> (a, b) -> Int Source # inRange :: ((a, b), (a, b)) -> (a, b) -> Bool Source # rangeSize :: ((a, b), (a, b)) -> Int Source # unsafeRangeSize :: ((a, b), (a, b)) -> Int Source #
Ix a => Ix (Const a b) | Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Const

Methods

range :: (Const a b, Const a b) -> [Const a b] Source #

index :: (Const a b, Const a b) -> Const a b -> Int Source #

unsafeIndex :: (Const a b, Const a b) -> Const a b -> Int Source #

inRange :: (Const a b, Const a b) -> Const a b -> Bool Source #

rangeSize :: (Const a b, Const a b) -> Int Source #

unsafeRangeSize :: (Const a b, Const a b) -> Int Source #

Ix b => Ix (Tagged s b) |

Instance details

Defined in Data.Tagged

Methods

range :: (Tagged s b, Tagged s b) -> [Tagged s b] Source #

index :: (Tagged s b, Tagged s b) -> Tagged s b -> Int Source #

unsafeIndex :: (Tagged s b, Tagged s b) -> Tagged s b -> Int Source #

inRange :: (Tagged s b, Tagged s b) -> Tagged s b -> Bool Source #

rangeSize :: (Tagged s b, Tagged s b) -> Int Source #

unsafeRangeSize :: (Tagged s b, Tagged s b) -> Int Source #

(Ix a1, Ix a2, Ix a3) => Ix (a1, a2, a3) | Since: base-2.1

Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3), (a1, a2, a3)) -> [(a1, a2, a3)] Source #

index :: ((a1, a2, a3), (a1, a2, a3)) -> (a1, a2, a3) -> Int Source #

unsafeIndex :: ((a1, a2, a3), (a1, a2, a3)) -> (a1, a2, a3) -> Int Source #

inRange :: ((a1, a2, a3), (a1, a2, a3)) -> (a1, a2, a3) -> Bool Source #

rangeSize :: ((a1, a2, a3), (a1, a2, a3)) -> Int Source #

unsafeRangeSize :: ((a1, a2, a3), (a1, a2, a3)) -> Int Source #

(Ix a1, Ix a2, Ix a3, Ix a4) => Ix (a1, a2, a3, a4) | Since: base-2.1

Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> [(a1, a2, a3, a4)] Source #

index :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> (a1, a2, a3, a4) -> Int Source #

unsafeIndex :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> (a1, a2, a3, a4) -> Int Source #

inRange :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> (a1, a2, a3, a4) -> Bool Source #

rangeSize :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> Int Source #

unsafeRangeSize :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> Int Source #

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5) => Ix (a1, a2, a3, a4, a5) | Since: base-2.1

Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> [(a1, a2, a3, a4, a5)] Source #

index :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> (a1, a2, a3, a4, a5) -> Int Source #

unsafeIndex :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> (a1, a2, a3, a4, a5) -> Int Source #

inRange :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> (a1, a2, a3, a4, a5) -> Bool Source #

rangeSize :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> Int Source #

unsafeRangeSize :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> Int Source #

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6) => Ix (a1, a2, a3, a4, a5, a6) | Since: base-4.15.0.0

Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> [(a1, a2, a3, a4, a5, a6)] Source #

index :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> (a1, a2, a3, a4, a5, a6) -> Int Source #

unsafeIndex :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> (a1, a2, a3, a4, a5, a6) -> Int Source #

inRange :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> (a1, a2, a3, a4, a5, a6) -> Bool Source #

rangeSize :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> Int Source #

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> Int Source #

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7) => Ix (a1, a2, a3, a4, a5, a6, a7) | Since: base-4.15.0.0

Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> [(a1, a2, a3, a4, a5, a6, a7)] Source #

index :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> (a1, a2, a3, a4, a5, a6, a7) -> Int Source #

unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> (a1, a2, a3, a4, a5, a6, a7) -> Int Source #

inRange :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> (a1, a2, a3, a4, a5, a6, a7) -> Bool Source #

rangeSize :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> Int Source #

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> Int Source #

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8) => Ix (a1, a2, a3, a4, a5, a6, a7, a8) | Since: base-4.15.0.0

Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> [(a1, a2, a3, a4, a5, a6, a7, a8)] Source #

index :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> (a1, a2, a3, a4, a5, a6, a7, a8) -> Int Source #

unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> (a1, a2, a3, a4, a5, a6, a7, a8) -> Int Source #

inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> (a1, a2, a3, a4, a5, a6, a7, a8) -> Bool Source #

rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> Int Source #

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> Int Source #

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9) | Since: base-4.15.0.0

Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9)] Source #

index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Int Source #

unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Int Source #

inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Bool Source #

rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> Int Source #

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> Int Source #

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA) | Since: base-4.15.0.0

Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)] Source #

index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA) -> Int Source #

unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA) -> Int Source #

inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA) -> Bool Source #

rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> Int Source #

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> Int Source #

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB) | Since: base-4.15.0.0

Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)] Source #

index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB) -> Int Source #

unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB) -> Int Source #

inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB) -> Bool Source #

rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> Int Source #

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> Int Source #

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB, Ix aC) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC) | Since: base-4.15.0.0

Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)] Source #

index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC) -> Int Source #

unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC) -> Int Source #

inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC) -> Bool Source #

rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> Int Source #

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> Int Source #

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB, Ix aC, Ix aD) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD) | Since: base-4.15.0.0

Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)] Source #

index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD) -> Int Source #

unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD) -> Int Source #

inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD) -> Bool Source #

rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> Int Source #

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> Int Source #

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB, Ix aC, Ix aD, Ix aE) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE) | Since: base-4.15.0.0

Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)] Source #

index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE) -> Int Source #

unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE) -> Int Source #

inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE) -> Bool Source #

rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> Int Source #

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> Int Source #

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB, Ix aC, Ix aD, Ix aE, Ix aF) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF) | Since: base-4.15.0.0

Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)] Source #

index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF) -> Int Source #

unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF) -> Int Source #

inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF) -> Bool Source #

rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> Int Source #

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> Int Source #

(\\) :: SmallSetElement a => SmallSet a -> SmallSet a -> SmallSet a Source #

Time O(n).

complement :: SmallSetElement a => SmallSet a -> SmallSet a Source #

Time O(n).

delete :: SmallSetElement a => a -> SmallSet a -> SmallSet a Source #

Time O(n).

difference :: SmallSetElement a => SmallSet a -> SmallSet a -> SmallSet a Source #

Time O(n).

elems :: SmallSetElement a => SmallSet a -> [a] Source #

Time O(n).

empty :: SmallSetElement a => SmallSet a Source #

The empty set. Time O(n).

fromList :: SmallSetElement a => [a] -> SmallSet a Source #

Time O(n).

fromAscList :: SmallSetElement a => [a] -> SmallSet a Source #

Time O(n).

fromDistinctAscList :: SmallSetElement a => [a] -> SmallSet a Source #

Time O(n).

insert :: SmallSetElement a => a -> SmallSet a -> SmallSet a Source #

Time O(n).

intersection :: SmallSetElement a => SmallSet a -> SmallSet a -> SmallSet a Source #

Time O(n).

isSubsetOf :: SmallSetElement a => SmallSet a -> SmallSet a -> Bool Source #

Time O(n).

mapMemberShip :: SmallSetElement a => (Bool -> Bool) -> SmallSet a -> SmallSet a Source #

Time O(n).

member :: SmallSetElement a => a -> SmallSet a -> Bool Source #

Time O(1).

notMember :: SmallSetElement a => a -> SmallSet a -> Bool Source #

`not . member a`. Time O(1).

null :: SmallSetElement a => SmallSet a -> Bool Source #

Time O(n)!

singleton :: SmallSetElement a => a -> SmallSet a Source #

A singleton set. Time O(n).

toList :: SmallSetElement a => SmallSet a -> [a] Source #

Time O(n).

toAscList :: SmallSetElement a => SmallSet a -> [a] Source #

Time O(n).

total :: SmallSetElement a => SmallSet a Source #

The full set. Time O(n).

union :: SmallSetElement a => SmallSet a -> SmallSet a -> SmallSet a Source #

Time O(n).

zipMemberShipWith :: SmallSetElement a => (Bool -> Bool -> Bool) -> SmallSet a -> SmallSet a -> SmallSet a Source #

Time O(n).