Variables are the potential or actual result of executing an action. They are parameterised by either Symbolic or Concrete depending on the phase of the test.
Symbolic variables are the potential results of actions. These are used when generating the sequence of actions to execute. They allow actions which occur later in the sequence to make use of the result of an action which came earlier in the sequence.
Concrete variables are the actual results of actions. These are used during test execution. They provide access to the actual runtime value of a variable.
The state update Callback for a command needs to be polymorphic in the type of variable because it is used in both the generation and the execution phase.
The order of arguments makes Var FunctorB and TraversableB, which is how Symbolic values are turned into Concrete ones.
Constructors
Var (v a)
Instances5FunctorB, TraversableB, Eq, Ord, Show
FunctorB (Var a)Defined in hedgehog-1.7 · Hedgehog.Internal.StateTraversableB (Var a)Defined in hedgehog-1.7 · Hedgehog.Internal.State(Eq a, Eq1 v) => Eq (Var a v)Defined in hedgehog-1.7 · Hedgehog.Internal.State(Ord a, Ord1 v) => Ord (Var a v)Defined in hedgehog-1.7 · Hedgehog.Internal.State(Show a, Show1 v) => Show (Var a v)Defined in hedgehog-1.7 · Hedgehog.Internal.State