{-# LANGUAGE NoImplicitPrelude, UnicodeSyntax #-}
module Data.IntMap.Strict.Unicode
( (∈), (∋), (∉), (∌)
, (∅)
, (∪), (∖), (∆), (∩)
) where
import Data.Bool ( Bool )
import Data.Int ( Int )
import Data.Function ( flip )
import Data.IntMap.Strict ( IntMap
, member, notMember
, empty
, union, difference, intersection
)
infix 4 ∈
infix 4 ∋
infix 4 ∉
infix 4 ∌
infixl 6 ∪
infixr 6 ∩
infixl 9 ∖
infixl 9 ∆
(∈) ∷ Int → IntMap α → Bool
∈ :: Int -> IntMap α -> Bool
(∈) = Int -> IntMap α -> Bool
forall a. Int -> IntMap a -> Bool
member
{-# INLINE (∈) #-}
(∋) ∷ IntMap α → Int → Bool
∋ :: IntMap α -> Int -> Bool
(∋) = (Int -> IntMap α -> Bool) -> IntMap α -> Int -> Bool
forall a b c. (a -> b -> c) -> b -> a -> c
flip Int -> IntMap α -> Bool
forall a. Int -> IntMap a -> Bool
(∈)
{-# INLINE (∋) #-}
(∉) ∷ Int → IntMap α → Bool
∉ :: Int -> IntMap α -> Bool
(∉) = Int -> IntMap α -> Bool
forall a. Int -> IntMap a -> Bool
notMember
{-# INLINE (∉) #-}
(∌) ∷ IntMap α → Int → Bool
∌ :: IntMap α -> Int -> Bool
(∌) = (Int -> IntMap α -> Bool) -> IntMap α -> Int -> Bool
forall a b c. (a -> b -> c) -> b -> a -> c
flip Int -> IntMap α -> Bool
forall a. Int -> IntMap a -> Bool
(∉)
{-# INLINE (∌) #-}
(∅) ∷ IntMap α
∅ :: IntMap α
(∅) = IntMap α
forall a. IntMap a
empty
{-# INLINE (∅) #-}
(∪) ∷ IntMap α → IntMap α → IntMap α
∪ :: IntMap α -> IntMap α -> IntMap α
(∪) = IntMap α -> IntMap α -> IntMap α
forall a. IntMap a -> IntMap a -> IntMap a
union
{-# INLINE (∪) #-}
(∖) ∷ IntMap α → IntMap β → IntMap α
∖ :: IntMap α -> IntMap β -> IntMap α
(∖) = IntMap α -> IntMap β -> IntMap α
forall a b. IntMap a -> IntMap b -> IntMap a
difference
{-# INLINE (∖) #-}
(∆) ∷ IntMap α → IntMap α → IntMap α
IntMap α
a ∆ :: IntMap α -> IntMap α -> IntMap α
∆ IntMap α
b = (IntMap α
a IntMap α -> IntMap α -> IntMap α
forall a b. IntMap a -> IntMap b -> IntMap a
∖ IntMap α
b) IntMap α -> IntMap α -> IntMap α
forall a. IntMap a -> IntMap a -> IntMap a
∪ (IntMap α
b IntMap α -> IntMap α -> IntMap α
forall a b. IntMap a -> IntMap b -> IntMap a
∖ IntMap α
a)
{-# INLINE (∆) #-}
(∩) ∷ IntMap α → IntMap β → IntMap α
∩ :: IntMap α -> IntMap β -> IntMap α
(∩) = IntMap α -> IntMap β -> IntMap α
forall a b. IntMap a -> IntMap b -> IntMap a
intersection
{-# INLINE (∩) #-}