module Hydra.Impl.Haskell.Dsl.Lib.Sets where

import Hydra.Phantoms
import qualified Hydra.Impl.Haskell.Dsl.Terms as Terms
import Hydra.Impl.Haskell.Sources.Libraries

import Data.Set


--add :: Datum (a -> Set a -> Set a)
--add = Datum $ Terms.primitive _sets_add

contains :: Datum (a -> Set a -> Bool)
contains :: forall a. Datum (a -> Set a -> Bool)
contains = forall a. Term Meta -> Datum a
Datum forall a b. (a -> b) -> a -> b
$ forall m. Name -> Term m
Terms.primitive Name
_sets_contains

isEmpty :: Datum (Set a -> Bool)
isEmpty :: forall a. Datum (Set a -> Bool)
isEmpty = forall a. Term Meta -> Datum a
Datum forall a b. (a -> b) -> a -> b
$ forall m. Name -> Term m
Terms.primitive Name
_sets_isEmpty

remove :: Datum (a -> Set a -> Set a)
remove :: forall a. Datum (a -> Set a -> Set a)
remove = forall a. Term Meta -> Datum a
Datum forall a b. (a -> b) -> a -> b
$ forall m. Name -> Term m
Terms.primitive Name
_sets_remove