Safe Haskell | None |
---|---|
Language | Haskell2010 |
AOC.Common.FinitarySet
Documentation
newtype FinitarySet a Source #
Constructors
FinitarySet (Vector (Cardinality a) Bit) |
Instances
empty :: KnownNat (Cardinality a) => FinitarySet a Source #
singleton :: Finitary a => a -> FinitarySet a Source #
insert :: Finitary a => a -> FinitarySet a -> FinitarySet a Source #
delete :: Finitary a => a -> FinitarySet a -> FinitarySet a Source #
fromList :: Finitary a => [a] -> FinitarySet a Source #
toList :: Finitary a => FinitarySet a -> [a] Source #
intersection :: FinitarySet a -> FinitarySet a -> FinitarySet a Source #
union :: FinitarySet a -> FinitarySet a -> FinitarySet a Source #
unions :: Finitary a => [FinitarySet a] -> FinitarySet a Source #
difference :: FinitarySet a -> FinitarySet a -> FinitarySet a Source #
(\\) :: FinitarySet a -> FinitarySet a -> FinitarySet a infixl 9 Source #
isSubsetOf :: FinitarySet a -> FinitarySet a -> Bool Source #
isProperSubsetOf :: FinitarySet a -> FinitarySet a -> Bool Source #
disjoint :: FinitarySet a -> FinitarySet a -> Bool Source #
size :: FinitarySet a -> Int Source #
member :: Finitary a => a -> FinitarySet a -> Bool Source #
notMember :: Finitary a => a -> FinitarySet a -> Bool Source #
null :: FinitarySet a -> Bool Source #
cartesianProduct :: (KnownNat (Cardinality a), KnownNat (Cardinality a * Cardinality b)) => FinitarySet a -> FinitarySet b -> FinitarySet (a, b) Source #
disjointUnion :: FinitarySet a -> FinitarySet b -> FinitarySet (Either a b) Source #
foldr :: Finitary a => (a -> b -> b) -> b -> FinitarySet a -> b Source #
foldr' :: Finitary a => (a -> b -> b) -> b -> FinitarySet a -> b Source #
foldl :: Finitary a => (b -> a -> b) -> b -> FinitarySet a -> b Source #
foldl' :: Finitary a => (b -> a -> b) -> b -> FinitarySet a -> b Source #
map :: (Finitary a, Finitary b) => (a -> b) -> FinitarySet a -> FinitarySet b Source #
foldMap :: (Finitary a, Monoid m) => (a -> m) -> FinitarySet a -> m Source #
filter :: Finitary a => (a -> Bool) -> FinitarySet a -> FinitarySet a Source #
alterF :: (Finitary a, Functor f) => (Bool -> f Bool) -> a -> FinitarySet a -> f (FinitarySet a) Source #
generate :: Finitary a => (a -> Bool) -> FinitarySet a Source #
powerSet :: (Finitary a, KnownNat (2 ^ Cardinality a)) => FinitarySet a -> FinitarySet (FinitarySet a) Source #
mapMaybe :: (Finitary a, Finitary b) => (a -> Maybe b) -> FinitarySet a -> FinitarySet b Source #
partition :: Finitary a => (a -> Bool) -> FinitarySet a -> (FinitarySet a, FinitarySet a) Source #