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 #

Constructors

SetSpec (Set a) (Specification a) (Specification Integer) 

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

stimes ∷ Integral b ⇒ b → SetSpec a → SetSpec a

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

Defined in Constrained.Spec.Set

Methods

showsPrec ∷ Int → SetSpec 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
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 Bool → List 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 #

Syntax SetW Source # 
Instance details

Defined in Constrained.Spec.Set

Methods

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

prettyWit ∷ ∀ (dom ∷ [Type]) rng ann. (All HasSpec dom, HasSpec rng) ⇒ SetW dom rng → List Term dom → Int → Maybe (Doc ann) Source #

Show (SetW ds r) Source # 
Instance details

Defined in Constrained.Spec.Set

Methods

showsPrec ∷ Int → SetW 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)

stimes ∷ Integral 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 #

Methods

emptySpecTypeSpec (Set a) Source #

combineSpecTypeSpec (Set a) → TypeSpec (Set a) → Specification (Set a) Source #

genFromTypeSpec ∷ ∀ (m ∷ Type → Type). (HasCallStack, MonadGenError m) ⇒ TypeSpec (Set a) → GenT m (Set a) Source #

conformsTo ∷ Set a → TypeSpec (Set a) → Bool Source #

shrinkWithTypeSpecTypeSpec (Set a) → Set a → [Set a] Source #

toPredsTerm (Set a) → TypeSpec (Set a) → Pred Source #

cardinalTypeSpecTypeSpec (Set a) → Specification Integer Source #

cardinalTrueSpecSpecification Integer Source #

typeSpecHasErrorTypeSpec (Set a) → Maybe (NonEmpty String) Source #

alternateShowTypeSpec (Set a) → BinaryShow Source #

monadConformsTo ∷ Set a → TypeSpec (Set a) → Writer [String] Bool Source #

typeSpecOptTypeSpec (Set a) → [Set a] → Specification (Set a) Source #

guardTypeSpec ∷ [String] → TypeSpec (Set a) → Specification (Set a) Source #

prerequisitesEvidence (Prerequisites (Set a)) Source #

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

Methods

sizeOf ∷ Set a → Integer Source #

liftSizeSpecSizeSpec → [Integer] → Specification (Set a) Source #

liftMemberSpec ∷ [Integer] → Specification (Set a) Source #

sizeOfTypeSpecTypeSpec (Set a) → Specification Integer Source #

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

Methods

fromForAllSpecSpecification a → Specification (Set a) Source #

forAllToList ∷ Set a → [a] Source #