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.Map

Synopsis

Documentation

data MapSpec k v Source #

Instances

Instances details
(HasSpec (k, v), HasSpec k, HasSpec v, HasSpec [v]) ⇒ Pretty (WithPrec (MapSpec k v)) Source # 
Instance details

Defined in Constrained.Spec.Map

Methods

prettyWithPrec (MapSpec k v) → Doc ann Source #

prettyList ∷ [WithPrec (MapSpec k v)] → Doc ann Source #

(Arbitrary k, Arbitrary v, Arbitrary (TypeSpec k), Arbitrary (TypeSpec v), Ord k, HasSpec k, Foldy v) ⇒ Arbitrary (MapSpec k v) Source # 
Instance details

Defined in Constrained.Spec.Map

Methods

arbitraryGen (MapSpec k v) Source #

shrinkMapSpec k v → [MapSpec k v] Source #

Generic (MapSpec k v) Source # 
Instance details

Defined in Constrained.Spec.Map

Associated Types

type Rep (MapSpec k v) ∷ TypeType #

Methods

fromMapSpec k v → Rep (MapSpec k v) x #

toRep (MapSpec k v) x → MapSpec k v #

(HasSpec (k, v), HasSpec k, HasSpec v, HasSpec [v]) ⇒ Show (MapSpec k v) Source # 
Instance details

Defined in Constrained.Spec.Map

Methods

showsPrecIntMapSpec k v → ShowS #

showMapSpec k v → String #

showList ∷ [MapSpec k v] → ShowS #

type Rep (MapSpec k v) Source # 
Instance details

Defined in Constrained.Spec.Map

type Rep (MapSpec k v) = D1 ('MetaData "MapSpec" "Constrained.Spec.Map" "constrained-generators-0.2.0.0-inplace" 'False) (C1 ('MetaCons "MapSpec" 'PrefixI 'True) ((S1 ('MetaSel ('Just "mapSpecHint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Integer)) :*: (S1 ('MetaSel ('Just "mapSpecMustKeys") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set k)) :*: S1 ('MetaSel ('Just "mapSpecMustValues") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [v]))) :*: (S1 ('MetaSel ('Just "mapSpecSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Specification Integer)) :*: (S1 ('MetaSel ('Just "mapSpecElem") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Specification (k, v))) :*: S1 ('MetaSel ('Just "mapSpecFold") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (FoldSpec v))))))

defaultMapSpecOrd k ⇒ MapSpec k v Source #

emptySpec without all the constraints

fstSpec ∷ ∀ k v. (HasSpec k, HasSpec v) ⇒ Specification (k, v) → Specification k Source #

sndSpec ∷ ∀ k v. (HasSpec k, HasSpec v) ⇒ Specification (k, v) → Specification v Source #

data MapW (dom ∷ [Type]) (rng ∷ Type) where Source #

Constructors

DomW ∷ (HasSpec k, HasSpec v, IsNormalType k, IsNormalType v, Ord k) ⇒ MapW '[Map k v] (Set k) 
RngW ∷ (HasSpec k, HasSpec v, IsNormalType k, IsNormalType v, Ord k) ⇒ MapW '[Map k v] [v] 
LookupW ∷ (HasSpec k, HasSpec v, IsNormalType k, IsNormalType v, Ord k) ⇒ MapW '[k, Map k v] (Maybe v) 

Instances

Instances details
Syntax MapW Source # 
Instance details

Defined in Constrained.Spec.Map

Methods

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

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

Logic MapW Source # 
Instance details

Defined in Constrained.Spec.Map

Methods

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

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

propagate ∷ ∀ (as ∷ [Type]) b a. (AppRequires MapW as b, HasSpec a) ⇒ MapW 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) ⇒ MapW dom rng → List Term dom → Evidence (AppRequires MapW dom rng) → Maybe (Term rng) Source #

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

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

Semantics MapW Source # 
Instance details

Defined in Constrained.Spec.Map

Methods

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

Show (MapW d r) Source # 
Instance details

Defined in Constrained.Spec.Map

Methods

showsPrecIntMapW d r → ShowS #

showMapW d r → String #

showList ∷ [MapW d r] → ShowS #

Eq (MapW dom rng) Source # 
Instance details

Defined in Constrained.Spec.Map

Methods

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

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

mapSemMapW d r → FunTy d r Source #

dom_ ∷ (HasSpec (Map k v), HasSpec v, HasSpec k, Ord k, IsNormalType k, IsNormalType v) ⇒ Term (Map k v) → Term (Set k) Source #

rng_ ∷ (HasSpec k, HasSpec v, Ord k, IsNormalType k, IsNormalType v) ⇒ Term (Map k v) → Term [v] Source #

lookup_ ∷ (HasSpec k, HasSpec v, Ord k, IsNormalType k, IsNormalType v) ⇒ Term k → Term (Map k v) → Term (Maybe v) Source #

Orphan instances

Arbitrary (FoldSpec (Map k v)) Source # 
Instance details

Methods

arbitraryGen (FoldSpec (Map k v)) Source #

shrinkFoldSpec (Map k v) → [FoldSpec (Map k v)] Source #

(Ord k, HasSpec k, HasSpec v, HasSpec [v], IsNormalType k, IsNormalType v) ⇒ HasGenHint (Map k v) Source # 
Instance details

Associated Types

type Hint (Map k v) Source #

Methods

giveHintHint (Map k v) → Specification (Map k v) Source #

(Ord k, HasSpec (Prod k v), HasSpec k, HasSpec v, HasSpec [v], IsNormalType k, IsNormalType v) ⇒ HasSpec (Map k v) Source # 
Instance details

Associated Types

type TypeSpec (Map k v) Source #

type Prerequisites (Map k v) Source #

Ord a ⇒ Sized (Map a b) Source # 
Instance details

Ord k ⇒ Forallable (Map k v) (k, v) Source # 
Instance details

Methods

fromForAllSpecSpecification (k, v) → Specification (Map k v) Source #

forAllToListMap k v → [(k, v)] Source #