module Hydra.Dsl.Lib.Sets where import Hydra.Phantoms import Hydra.Sources.Libraries import qualified Hydra.Dsl.Terms as Terms import Data.Set contains :: Datum (a -> Set a -> Bool) contains :: forall a. Datum (a -> Set a -> Bool) contains = Term -> Datum (a -> Set a -> Bool) forall a. Term -> Datum a Datum (Term -> Datum (a -> Set a -> Bool)) -> Term -> Datum (a -> Set a -> Bool) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _sets_contains difference :: Datum (Set a -> Set a -> Set a) difference :: forall a. Datum (Set a -> Set a -> Set a) difference = Term -> Datum (Set a -> Set a -> Set a) forall a. Term -> Datum a Datum (Term -> Datum (Set a -> Set a -> Set a)) -> Term -> Datum (Set a -> Set a -> Set a) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _sets_difference empty :: Datum (Set a) empty :: forall a. Datum (Set a) empty = Term -> Datum (Set a) forall a. Term -> Datum a Datum (Term -> Datum (Set a)) -> Term -> Datum (Set a) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _sets_empty fromList :: Datum ([a] -> Set a) fromList :: forall a. Datum ([a] -> Set a) fromList = Term -> Datum ([a] -> Set a) forall a. Term -> Datum a Datum (Term -> Datum ([a] -> Set a)) -> Term -> Datum ([a] -> Set a) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _sets_fromList insert :: Datum (a -> Set a -> Set a) insert :: forall a. Datum (a -> Set a -> Set a) insert = Term -> Datum (a -> Set a -> Set a) forall a. Term -> Datum a Datum (Term -> Datum (a -> Set a -> Set a)) -> Term -> Datum (a -> Set a -> Set a) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _sets_insert intersection :: Datum (Set a -> Set a -> Set a) intersection :: forall a. Datum (Set a -> Set a -> Set a) intersection = Term -> Datum (Set a -> Set a -> Set a) forall a. Term -> Datum a Datum (Term -> Datum (Set a -> Set a -> Set a)) -> Term -> Datum (Set a -> Set a -> Set a) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _sets_intersection isEmpty :: Datum (Set a -> Bool) isEmpty :: forall a. Datum (Set a -> Bool) isEmpty = Term -> Datum (Set a -> Bool) forall a. Term -> Datum a Datum (Term -> Datum (Set a -> Bool)) -> Term -> Datum (Set a -> Bool) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _sets_isEmpty map :: Datum ((a -> b) -> Set a -> Set b) map :: forall a b. Datum ((a -> b) -> Set a -> Set b) map = Term -> Datum ((a -> b) -> Set a -> Set b) forall a. Term -> Datum a Datum (Term -> Datum ((a -> b) -> Set a -> Set b)) -> Term -> Datum ((a -> b) -> Set a -> Set b) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _sets_map remove :: Datum (a -> Set a -> Set a) remove :: forall a. Datum (a -> Set a -> Set a) remove = Term -> Datum (a -> Set a -> Set a) forall a. Term -> Datum a Datum (Term -> Datum (a -> Set a -> Set a)) -> Term -> Datum (a -> Set a -> Set a) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _sets_remove singleton :: Datum (a -> Set a) singleton :: forall a. Datum (a -> Set a) singleton = Term -> Datum (a -> Set a) forall a. Term -> Datum a Datum (Term -> Datum (a -> Set a)) -> Term -> Datum (a -> Set a) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _sets_singleton size :: Datum (Set a -> Int) size :: forall a. Datum (Set a -> Int) size = Term -> Datum (Set a -> Int) forall a. Term -> Datum a Datum (Term -> Datum (Set a -> Int)) -> Term -> Datum (Set a -> Int) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _sets_size toList :: Datum (Set a -> [a]) toList :: forall a. Datum (Set a -> [a]) toList = Term -> Datum (Set a -> [a]) forall a. Term -> Datum a Datum (Term -> Datum (Set a -> [a])) -> Term -> Datum (Set a -> [a]) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _sets_toList union :: Datum (Set a -> Set a -> Set a) union :: forall a. Datum (Set a -> Set a -> Set a) union = Term -> Datum (Set a -> Set a -> Set a) forall a. Term -> Datum a Datum (Term -> Datum (Set a -> Set a -> Set a)) -> Term -> Datum (Set a -> Set a -> Set a) forall a b. (a -> b) -> a -> b $ Name -> Term Terms.primitive Name _sets_union