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

Constrained.Core

Documentation

data Var a Source #

Constructors

Var 

Fields

Instances

Instances details
Show (Var a) Source # 
Instance details

Defined in Constrained.Core

Methods

showsPrecIntVar a → ShowS Source #

showVar a → String Source #

showList ∷ [Var a] → ShowS Source #

Typeable a ⇒ Rename (Var a) Source # 
Instance details

Defined in Constrained.Core

Methods

renameTypeable x ⇒ Var x → Var x → Var a → Var a Source #

Eq (Var a) Source # 
Instance details

Defined in Constrained.Core

Methods

(==)Var a → Var a → Bool Source #

(/=)Var a → Var a → Bool Source #

Ord (Var a) Source # 
Instance details

Defined in Constrained.Core

Methods

compareVar a → Var a → Ordering Source #

(<)Var a → Var a → Bool Source #

(<=)Var a → Var a → Bool Source #

(>)Var a → Var a → Bool Source #

(>=)Var a → Var a → Bool Source #

maxVar a → Var a → Var a Source #

minVar a → Var a → Var a Source #

Pretty (Var a) Source # 
Instance details

Defined in Constrained.Base

Methods

prettyVar a → Doc ann Source #

prettyList ∷ [Var a] → Doc ann Source #

eqVar ∷ ∀ a a'. (Typeable a, Typeable a') ⇒ Var a → Var a' → Maybe (a :~: a') Source #

class Rename a where Source #

Methods

renameTypeable x ⇒ Var x → Var x → a → a Source #

Instances

Instances details
Rename () Source # 
Instance details

Defined in Constrained.Core

Methods

renameTypeable x ⇒ Var x → Var x → () → () Source #

Rename (Name f) Source # 
Instance details

Defined in Constrained.Base

Methods

renameTypeable x ⇒ Var x → Var x → Name f → Name f Source #

Rename (Pred fn) Source # 
Instance details

Defined in Constrained.Base

Methods

renameTypeable x ⇒ Var x → Var x → Pred fn → Pred fn Source #

Typeable a ⇒ Rename (Var a) Source # 
Instance details

Defined in Constrained.Core

Methods

renameTypeable x ⇒ Var x → Var x → Var a → Var a Source #

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

Defined in Constrained.Core

Methods

renameTypeable x ⇒ Var x → Var x → Set a → Set a Source #

(Functor t, Rename a) ⇒ Rename (t a) Source # 
Instance details

Defined in Constrained.Core

Methods

renameTypeable x ⇒ Var x → Var x → t a → t a Source #

Rename (Binder fn a) Source # 
Instance details

Defined in Constrained.Base

Methods

renameTypeable x ⇒ Var x → Var x → Binder fn a → Binder fn a Source #

Rename (Term fn a) Source # 
Instance details

Defined in Constrained.Base

Methods

renameTypeable x ⇒ Var x → Var x → Term fn a → Term fn a Source #

Rename (f a) ⇒ Rename (Weighted f a) Source # 
Instance details

Defined in Constrained.Base

Methods

renameTypeable x ⇒ Var x → Var x → Weighted f a → Weighted f a Source #

(Rename a, Rename b) ⇒ Rename (a, b) Source # 
Instance details

Defined in Constrained.Core

Methods

renameTypeable x ⇒ Var x → Var x → (a, b) → (a, b) Source #

(∀ a. Rename (f a)) ⇒ Rename (List f as) Source # 
Instance details

Defined in Constrained.Core

Methods

renameTypeable x ⇒ Var x → Var x → List f as → List f as Source #

freshVarVar a → Set IntVar a Source #

freshen ∷ (Typeable a, Rename t) ⇒ Var a → t → Set Int → (Var a, t) Source #

data Value a where Source #

Constructors

ValueShow a ⇒ !a → Value a 

Instances

Instances details
Show (Value a) Source # 
Instance details

Defined in Constrained.Core

Methods

showsPrecIntValue a → ShowS Source #

showValue a → String Source #

showList ∷ [Value a] → ShowS Source #

Eq a ⇒ Eq (Value a) Source # 
Instance details

Defined in Constrained.Core

Methods

(==)Value a → Value a → Bool Source #

(/=)Value a → Value a → Bool Source #

Ord a ⇒ Ord (Value a) Source # 
Instance details

Defined in Constrained.Core

Methods

compareValue a → Value a → Ordering Source #

(<)Value a → Value a → Bool Source #

(<=)Value a → Value a → Bool Source #

(>)Value a → Value a → Bool Source #

(>=)Value a → Value a → Bool Source #

maxValue a → Value a → Value a Source #

minValue a → Value a → Value a Source #

unValueValue a → a Source #

data Evidence c where Source #

Constructors

Evidence ∷ c ⇒ Evidence c 

unionWithMaybe ∷ (a → a → a) → Maybe a → Maybe a → Maybe a Source #