constrained-generators-0.2.0.0: Framework for generating constrained random data using a subset of first order logic
Safe HaskellSafe-Inferred
LanguageHaskell2010

Constrained.Spec.Set

Documentation

data SetSpec a Source #

Instances

Instances details
(Ord a, Arbitrary (Specification a), Arbitrary a) ⇒ Arbitrary (SetSpec a) Source # 
Instance details

Defined in Constrained.Spec.Set

Methods

arbitraryGen (SetSpec a) Source #

shrinkSetSpec a → [SetSpec a] Source #

(Ord a, HasSpec a) ⇒ Monoid (SetSpec a) Source # 
Instance details

Defined in Constrained.Spec.Set

Methods

memptySetSpec a #

mappendSetSpec a → SetSpec a → SetSpec a #

mconcat ∷ [SetSpec a] → SetSpec a #

(Ord a, HasSpec a) ⇒ Semigroup (SetSpec a) Source # 
Instance details

Defined in Constrained.Spec.Set

Methods

(<>)SetSpec a → SetSpec a → SetSpec a #

sconcatNonEmpty (SetSpec a) → SetSpec a #

stimesIntegral b ⇒ b → SetSpec a → SetSpec a #

HasSpec a ⇒ Show (SetSpec a) Source # 
Instance details

Defined in Constrained.Spec.Set

Methods

showsPrecIntSetSpec a → ShowS #

showSetSpec a → String #

showList ∷ [SetSpec a] → ShowS #

prettySetSpecHasSpec a ⇒ SetSpec a → Doc ann Source #

guardSetSpec ∷ (HasSpec a, Ord a) ⇒ [String] → SetSpec a → Specification (Set a) Source #

data SetW (d ∷ [Type]) (r ∷ Type) where Source #

Constructors

SingletonW ∷ (HasSpec a, Ord a) ⇒ SetW '[a] (Set a) 
UnionW ∷ (HasSpec a, Ord a) ⇒ SetW '[Set a, Set a] (Set a) 
SubsetW ∷ (HasSpec a, Ord a, HasSpec a) ⇒ SetW '[Set a, Set a] Bool 
MemberW ∷ (HasSpec a, Ord a) ⇒ SetW '[a, Set a] Bool 
DisjointW ∷ (HasSpec a, Ord a) ⇒ SetW '[Set a, Set a] Bool 
FromListW ∷ (HasSpec a, Ord a) ⇒ SetW '[[a]] (Set a) 

Instances

Instances details
Syntax SetW Source # 
Instance details

Defined in Constrained.Spec.Set

Methods

isInfix ∷ ∀ (dom ∷ [Type]) rng. SetW dom rng → Bool Source #

prettySymbol ∷ ∀ deps (dom ∷ [Type]) rng ann. SetW dom rng → List (TermD deps) dom → IntMaybe (Doc ann) Source #

Logic SetW Source # 
Instance details

Defined in Constrained.Spec.Set

Methods

propagateTypeSpec ∷ ∀ (as ∷ [Type]) b a. (AppRequires SetW as b, HasSpec a) ⇒ SetW as b → ListCtx Value as (HOLE a) → TypeSpec b → [b] → Specification a Source #

propagateMemberSpec ∷ ∀ (as ∷ [Type]) b a. (AppRequires SetW as b, HasSpec a) ⇒ SetW as b → ListCtx Value as (HOLE a) → NonEmpty b → Specification a Source #

propagate ∷ ∀ (as ∷ [Type]) b a. (AppRequires SetW as b, HasSpec a) ⇒ SetW as b → ListCtx Value as (HOLE a) → Specification b → Specification a Source #

rewriteRules ∷ ∀ (dom ∷ [Type]) rng. (TypeList dom, Typeable dom, HasSpec rng, All HasSpec dom) ⇒ SetW dom rng → List Term dom → Evidence (AppRequires SetW dom rng) → Maybe (Term rng) Source #

mapTypeSpec ∷ (HasSpec a, HasSpec b) ⇒ SetW '[a] b → TypeSpec a → Specification b Source #

saturate ∷ ∀ (dom ∷ [Type]). SetW dom BoolList Term dom → [Pred] Source #

Semantics SetW Source # 
Instance details

Defined in Constrained.Spec.Set

Methods

semantics ∷ ∀ (d ∷ [Type]) r. SetW d r → FunTy d r Source #

Show (SetW ds r) Source # 
Instance details

Defined in Constrained.Spec.Set

Methods

showsPrecIntSetW ds r → ShowS #

showSetW ds r → String #

showList ∷ [SetW ds r] → ShowS #

Eq (SetW dom rng) Source # 
Instance details

Defined in Constrained.Spec.Set

Methods

(==)SetW dom rng → SetW dom rng → Bool #

(/=)SetW dom rng → SetW dom rng → Bool #

setSemSetW ds r → FunTy ds r Source #

singletons ∷ [Set a] → [Set a] Source #

singleton_ ∷ (Ord a, HasSpec a) ⇒ Term a → Term (Set a) Source #

subset_ ∷ (Ord a, HasSpec a) ⇒ Term (Set a) → Term (Set a) → Term Bool Source #

member_ ∷ (Ord a, HasSpec a) ⇒ Term a → Term (Set a) → Term Bool Source #

union_ ∷ (Ord a, HasSpec a) ⇒ Term (Set a) → Term (Set a) → Term (Set a) Source #

disjoint_ ∷ (Ord a, HasSpec a) ⇒ Term (Set a) → Term (Set a) → Term Bool Source #

fromList_ ∷ ∀ a. (Ord a, HasSpec a) ⇒ Term [a] → Term (Set a) Source #

Orphan instances

Arbitrary (FoldSpec (Set a)) Source # 
Instance details

Methods

arbitraryGen (FoldSpec (Set a)) Source #

shrinkFoldSpec (Set a) → [FoldSpec (Set a)] Source #

(Ord a, HasSpec a, HasSpec (Set a)) ⇒ Monoid (Term (Set a)) Source # 
Instance details

Methods

memptyTerm (Set a) #

mappendTerm (Set a) → Term (Set a) → Term (Set a) #

mconcat ∷ [Term (Set a)] → Term (Set a) #

(Ord a, HasSpec a, HasSpec (Set a)) ⇒ Semigroup (Term (Set a)) Source # 
Instance details

Methods

(<>)Term (Set a) → Term (Set a) → Term (Set a) #

sconcatNonEmpty (Term (Set a)) → Term (Set a) #

stimesIntegral b ⇒ b → Term (Set a) → Term (Set a) #

(Ord a, HasSpec a) ⇒ HasSpec (Set a) Source # 
Instance details

Associated Types

type TypeSpec (Set a) Source #

type Prerequisites (Set a) Source #

Ord a ⇒ Sized (Set a) Source # 
Instance details

Ord a ⇒ Forallable (Set a) a Source # 
Instance details