cardano-ledger-core-1.15.1.0: Core components of Cardano ledgers from the Shelley release on.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Test.Cardano.Ledger.Common

Synopsis

Documentation

whenApplicative f ⇒ Bool → f () → f () Source #

Conditional execution of Applicative expressions. For example,

when debug (putStrLn "Debugging")

will output the string Debugging if the Boolean value debug is True, and otherwise do nothing.

voidFunctor f ⇒ f a → f () Source #

void value discards or ignores the result of evaluation, such as the return value of an IO action.

Examples

Expand

Replace the contents of a Maybe Int with unit:

>>> void Nothing
Nothing
>>> void (Just 3)
Just ()

Replace the contents of an Either Int Int with unit, resulting in an Either Int ():

>>> void (Left 8675309)
Left 8675309
>>> void (Right 8675309)
Right ()

Replace every element of a list with unit:

>>> void [1,2,3]
[(),(),()]

Replace the second element of a pair with unit:

>>> void (1,2)
(1,())

Discard the result of an IO action:

>>> mapM print [1,2]
1
2
[(),()]
>>> void $ mapM print [1,2]
1
2

unlessApplicative f ⇒ Bool → f () → f () Source #

The reverse of when.

labelledExamplesWithResultTestable prop ⇒ Args → prop → IO Result Source #

A variant of labelledExamples that takes test arguments and returns a result.

labelledExamplesResultTestable prop ⇒ prop → IO Result Source #

A variant of labelledExamples that returns a result.

labelledExamplesWithTestable prop ⇒ Args → prop → IO () Source #

A variant of labelledExamples that takes test arguments.

labelledExamplesTestable prop ⇒ prop → IO () Source #

Given a property, which must use label, collect, classify or cover to associate labels with test cases, find an example test case for each possible label. The example test cases are minimised using shrinking.

For example, suppose we test delete x xs and record the number of times that x occurs in xs:

prop_delete :: Int -> [Int] -> Property
prop_delete x xs =
  classify (count x xs == 0) "count x xs == 0" $
  classify (count x xs == 1) "count x xs == 1" $
  classify (count x xs >= 2) "count x xs >= 2" $
  counterexample (show (delete x xs)) $
  count x (delete x xs) == max 0 (count x xs-1)
  where count x xs = length (filter (== x) xs)

labelledExamples generates three example test cases, one for each label:

>>> labelledExamples prop_delete
*** Found example of count x xs == 0
0
[]
[]

*** Found example of count x xs == 1
0
[0]
[]

*** Found example of count x xs >= 2
5
[5,5]
[5]

+++ OK, passed 100 tests:
78% count x xs == 0
21% count x xs == 1
 1% count x xs >= 2

verboseCheckAllQ Exp Source #

Test all properties in the current module. This is just a convenience function that combines quickCheckAll and verbose.

verboseCheckAll has the same issue with scoping as quickCheckAll: see the note there about return [].

quickCheckAllQ Exp Source #

Test all properties in the current module. The name of the property must begin with prop_. Polymorphic properties will be defaulted to Integer. Returns True if all tests succeeded, False otherwise.

To use quickCheckAll, add a definition to your module along the lines of

return []
runTests = $quickCheckAll

and then execute runTests.

Note: the bizarre return [] in the example above is needed on GHC 7.8 and later; without it, quickCheckAll will not be able to find any of the properties. For the curious, the return [] is a Template Haskell splice that makes GHC insert the empty list of declarations at that point in the program; GHC typechecks everything before the return [] before it starts on the rest of the module, which means that the later call to quickCheckAll can see everything that was defined before the return []. Yikes!

allPropertiesQ Exp Source #

List all properties in the current module.

$allProperties has type [(String, Property)].

allProperties has the same issue with scoping as quickCheckAll: see the note there about return [].

forAllPropertiesQ Exp Source #

Test all properties in the current module, using a custom quickCheck function. The same caveats as with quickCheckAll apply.

$forAllProperties has type (Property -> IO Result) -> IO Bool. An example invocation is $forAllProperties quickCheckResult, which does the same thing as $quickCheckAll.

forAllProperties has the same issue with scoping as quickCheckAll: see the note there about return [].

monomorphicNameExpQ Source #

Monomorphise an arbitrary property by defaulting all type variables to Integer.

For example, if f has type Ord a => [a] -> [a] then $(monomorphic 'f) has type [Integer] -> [Integer].

If you want to use monomorphic in the same file where you defined the property, the same scoping problems pop up as in quickCheckAll: see the note there about return [].

polyVerboseCheckNameExpQ Source #

Test a polymorphic property, defaulting all type variables to Integer. This is just a convenience function that combines verboseCheck and monomorphic.

If you want to use polyVerboseCheck in the same file where you defined the property, the same scoping problems pop up as in quickCheckAll: see the note there about return [].

polyQuickCheckNameExpQ Source #

Test a polymorphic property, defaulting all type variables to Integer.

Invoke as $(polyQuickCheck 'prop), where prop is a property. Note that just evaluating quickCheck prop in GHCi will seem to work, but will silently default all type variables to ()!

$(polyQuickCheck 'prop) means the same as quickCheck $(monomorphic 'prop). If you want to supply custom arguments to polyQuickCheck, you will have to combine quickCheckWith and monomorphic yourself.

If you want to use polyQuickCheck in the same file where you defined the property, the same scoping problems pop up as in quickCheckAll: see the note there about return [].

verboseCheckWithResultTestable prop ⇒ Args → prop → IO Result Source #

Tests a property, using test arguments, produces a test result, and prints the results and all test cases generated to stdout. This is just a convenience function that combines quickCheckWithResult and verbose.

Note: for technical reasons, the test case is printed out after the property is tested. To debug a property that goes into an infinite loop, use within to add a timeout instead.

verboseCheckResultTestable prop ⇒ prop → IO Result Source #

Tests a property, produces a test result, and prints the results and all test cases generated to stdout. This is just a convenience function that combines quickCheckResult and verbose.

Note: for technical reasons, the test case is printed out after the property is tested. To debug a property that goes into an infinite loop, use within to add a timeout instead.

verboseCheckWithTestable prop ⇒ Args → prop → IO () Source #

Tests a property, using test arguments, and prints the results and all test cases generated to stdout. This is just a convenience function that combines quickCheckWith and verbose.

Note: for technical reasons, the test case is printed out after the property is tested. To debug a property that goes into an infinite loop, use within to add a timeout instead.

verboseCheckTestable prop ⇒ prop → IO () Source #

Tests a property and prints the results and all test cases generated to stdout. This is just a convenience function that means the same as quickCheck . verbose.

Note: for technical reasons, the test case is printed out after the property is tested. To debug a property that goes into an infinite loop, use within to add a timeout instead.

recheckTestable prop ⇒ Result → prop → IO () Source #

Re-run a property with the seed and size that failed in a run of quickCheckResult.

quickCheckWithResultTestable prop ⇒ Args → prop → IO Result Source #

Tests a property, using test arguments, produces a test result, and prints the results to stdout.

quickCheckResultTestable prop ⇒ prop → IO Result Source #

Tests a property, produces a test result, and prints the results to stdout.

quickCheckWithTestable prop ⇒ Args → prop → IO () Source #

Tests a property, using test arguments, and prints the results to stdout.

quickCheckTestable prop ⇒ prop → IO () Source #

Tests a property and prints the results to stdout.

By default up to 100 tests are performed, which may not be enough to find all bugs. To run more tests, use withMaxSuccess.

If you want to get the counterexample as a Haskell value, rather than just printing it, try the quickcheck-with-counterexamples package.

stdArgsArgs Source #

The default test arguments

isSuccessResultBool Source #

Check if the test run result was a success

data Args Source #

Args specifies arguments to the QuickCheck driver

Constructors

Args 

Fields

  • replayMaybe (QCGen, Int)

    Should we replay a previous test? Note: saving a seed from one version of QuickCheck and replaying it in another is not supported. If you want to store a test case permanently you should save the test case itself.

  • maxSuccessInt

    Maximum number of successful tests before succeeding. Testing stops at the first failure. If all tests are passing and you want to run more tests, increase this number.

  • maxDiscardRatioInt

    Maximum number of discarded tests per successful test before giving up

  • maxSizeInt

    Size to use for the biggest test cases

  • chattyBool

    Whether to print anything

  • maxShrinksInt

    Maximum number of shrinks to do before giving up. Setting this to zero turns shrinking off.

Instances

Instances details
Read Args 
Instance details

Defined in Test.QuickCheck.Test

Show Args 
Instance details

Defined in Test.QuickCheck.Test

Methods

showsPrecIntArgsShowS Source #

showArgsString Source #

showList ∷ [Args] → ShowS Source #

data Result Source #

Result represents the test result

Constructors

Success

A successful test run

Fields

GaveUp

Given up

Fields

Failure

A failed test run

Fields

NoExpectedFailure

A property that should have failed did not

Fields

Instances

Instances details
Show Result 
Instance details

Defined in Test.QuickCheck.Test

totalNFData a ⇒ a → Property Source #

Checks that a value is total, i.e., doesn't crash when evaluated.

(=/=) ∷ (Eq a, Show a) ⇒ a → a → Property infix 4 Source #

Like /=, but prints a counterexample when it fails.

(===) ∷ (Eq a, Show a) ⇒ a → a → Property infix 4 Source #

Like ==, but prints a counterexample when it fails.

disjoinTestable prop ⇒ [prop] → Property Source #

Take the disjunction of several properties.

(.||.) ∷ (Testable prop1, Testable prop2) ⇒ prop1 → prop2 → Property infixr 1 Source #

Disjunction: p1 .||. p2 passes unless p1 and p2 simultaneously fail.

conjoinTestable prop ⇒ [prop] → Property Source #

Take the conjunction of several properties.

(.&&.) ∷ (Testable prop1, Testable prop2) ⇒ prop1 → prop2 → Property infixr 1 Source #

Conjunction: p1 .&&. p2 passes if both p1 and p2 pass.

(.&.) ∷ (Testable prop1, Testable prop2) ⇒ prop1 → prop2 → Property infixr 1 Source #

Nondeterministic choice: p1 .&. p2 picks randomly one of p1 and p2 to test. If you test the property 100 times it makes 100 random choices.

forAllShrinkBlindTestable prop ⇒ Gen a → (a → [a]) → (a → prop) → Property Source #

Like forAllShrink, but without printing the generated value.

forAllShrinkShowTestable prop ⇒ Gen a → (a → [a]) → (a → String) → (a → prop) → Property Source #

Like forAllShrink, but with an explicitly given show function.

forAllShrink ∷ (Show a, Testable prop) ⇒ Gen a → (a → [a]) → (a → prop) → Property Source #

Like forAll, but tries to shrink the argument for failing test cases.

forAllBlindTestable prop ⇒ Gen a → (a → prop) → Property Source #

Like forAll, but without printing the generated value.

forAllShowTestable prop ⇒ Gen a → (a → String) → (a → prop) → Property Source #

Like forAll, but with an explicitly given show function.

forAll ∷ (Show a, Testable prop) ⇒ Gen a → (a → prop) → Property Source #

Explicit universal quantification: uses an explicitly given test case generator.

discardAfterTestable prop ⇒ Int → prop → Property Source #

Discards the test case if it does not complete within the given number of microseconds. This can be useful when testing algorithms that have pathological cases where they run extremely slowly.

withinTestable prop ⇒ Int → prop → Property Source #

Considers a property failed if it does not complete within the given number of microseconds.

Note: if the property times out, variables quantified inside the within will not be printed. Therefore, you should use within only in the body of your property.

Good: prop_foo a b c = within 1000000 ...

Bad: prop_foo = within 1000000 $ \a b c -> ...

Bad: prop_foo a b c = ...; main = quickCheck (within 1000000 prop_foo)

(==>)Testable prop ⇒ Bool → prop → Property infixr 0 Source #

Implication for properties: The resulting property holds if the first argument is False (in which case the test case is discarded), or if the given property holds. Note that using implication carelessly can severely skew test case distribution: consider using cover to make sure that your test data is still good quality.

coverTableTestable prop ⇒ String → [(String, Double)] → prop → Property Source #

Checks that the values in a given table appear a certain proportion of the time. A call to coverTable table [(x1, p1), ..., (xn, pn)] asserts that of the values in table, x1 should appear at least p1 percent of the time that table appears, x2 at least p2 percent of the time that table appears, and so on.

Note: If the coverage check fails, QuickCheck prints out a warning, but the property does not fail. To make the property fail, use checkCoverage.

Continuing the example from the tabular combinator...

data Command = LogIn | LogOut | SendMessage String deriving (Data, Show)
prop_chatroom :: [Command] -> Property
prop_chatroom cmds =
  wellFormed cmds LoggedOut ==>
  'tabulate' "Commands" (map (show . 'Data.Data.toConstr') cmds) $
    ...

...we can add a coverage requirement as follows, which checks that LogIn, LogOut and SendMessage each occur at least 25% of the time:

prop_chatroom :: [Command] -> Property
prop_chatroom cmds =
  wellFormed cmds LoggedOut ==>
  coverTable "Commands" [("LogIn", 25), ("LogOut", 25), ("SendMessage", 25)] $
  'tabulate' "Commands" (map (show . 'Data.Data.toConstr') cmds) $
    ... property goes here ...
>>> quickCheck prop_chatroom
+++ OK, passed 100 tests; 2909 discarded:
56% 0
17% 1
10% 2
 6% 3
 5% 4
 3% 5
 3% 7

Commands (111 in total):
51.4% LogIn
30.6% SendMessage
18.0% LogOut

Table 'Commands' had only 18.0% LogOut, but expected 25.0%

tabulateTestable prop ⇒ String → [String] → prop → Property Source #

Collects information about test case distribution into a table. The arguments to tabulate are the table's name and a list of values associated with the current test case. After testing, QuickCheck prints the frequency of all collected values. The frequencies are expressed as a percentage of the total number of values collected.

You should prefer tabulate to label when each test case is associated with a varying number of values. Here is a (not terribly useful) example, where the test data is a list of integers and we record all values that occur in the list:

prop_sorted_sort :: [Int] -> Property
prop_sorted_sort xs =
  sorted xs ==>
  tabulate "List elements" (map show xs) $
  sort xs === xs
>>> quickCheck prop_sorted_sort
+++ OK, passed 100 tests; 1684 discarded.

List elements (109 in total):
 3.7% 0
 3.7% 17
 3.7% 2
 3.7% 6
 2.8% -6
 2.8% -7

Here is a more useful example. We are testing a chatroom, where the user can log in, log out, or send a message:

data Command = LogIn | LogOut | SendMessage String deriving (Data, Show)
instance Arbitrary Command where ...

There are some restrictions on command sequences; for example, the user must log in before doing anything else. The function valid :: [Command] -> Bool checks that a command sequence is allowed. Our property then has the form:

prop_chatroom :: [Command] -> Property
prop_chatroom cmds =
  valid cmds ==>
    ...

The use of ==> may skew test case distribution. We use collect to see the length of the command sequences, and tabulate to get the frequencies of the individual commands:

prop_chatroom :: [Command] -> Property
prop_chatroom cmds =
  wellFormed cmds LoggedOut ==>
  'collect' (length cmds) $
  'tabulate' "Commands" (map (show . 'Data.Data.toConstr') cmds) $
    ...
>>> quickCheckWith stdArgs{maxDiscardRatio = 1000} prop_chatroom
+++ OK, passed 100 tests; 2775 discarded:
60% 0
20% 1
15% 2
 3% 3
 1% 4
 1% 5

Commands (68 in total):
62% LogIn
22% SendMessage
16% LogOut

cover Source #

Arguments

Testable prop 
Double

The required percentage (0-100) of test cases.

Bool

True if the test case belongs to the class.

String

Label for the test case class.

→ prop 
Property 

Checks that at least the given proportion of successful test cases belong to the given class. Discarded tests (i.e. ones with a false precondition) do not affect coverage.

Note: If the coverage check fails, QuickCheck prints out a warning, but the property does not fail. To make the property fail, use checkCoverage.

For example:

prop_sorted_sort :: [Int] -> Property
prop_sorted_sort xs =
  sorted xs ==>
  cover 50 (length xs > 1) "non-trivial" $
  sort xs === xs
>>> quickCheck prop_sorted_sort
+++ OK, passed 100 tests; 135 discarded (26% non-trivial).

Only 26% non-trivial, but expected 50%

classify Source #

Arguments

Testable prop 
Bool

True if the test case should be labelled.

String

Label.

→ prop 
Property 

Reports how many test cases satisfy a given condition.

For example:

prop_sorted_sort :: [Int] -> Property
prop_sorted_sort xs =
  sorted xs ==>
  classify (length xs > 1) "non-trivial" $
  sort xs === xs
>>> quickCheck prop_sorted_sort
+++ OK, passed 100 tests (22% non-trivial).

collect ∷ (Show a, Testable prop) ⇒ a → prop → Property Source #

Attaches a label to a test case. This is used for reporting test case distribution.

collect x = label (show x)

For example:

prop_reverse_reverse :: [Int] -> Property
prop_reverse_reverse xs =
  collect (length xs) $
    reverse (reverse xs) === xs
>>> quickCheck prop_reverse_reverse
+++ OK, passed 100 tests:
7% 7
6% 3
5% 4
4% 6
...

Each use of collect in your property results in a separate table of test case distribution in the output. If this is not what you want, use tabulate.

labelTestable prop ⇒ String → prop → Property Source #

Attaches a label to a test case. This is used for reporting test case distribution.

For example:

prop_reverse_reverse :: [Int] -> Property
prop_reverse_reverse xs =
  label ("length of input is " ++ show (length xs)) $
    reverse (reverse xs) === xs
>>> quickCheck prop_reverse_reverse
+++ OK, passed 100 tests:
7% length of input is 7
6% length of input is 3
5% length of input is 4
4% length of input is 6
...

Each use of label in your property results in a separate table of test case distribution in the output. If this is not what you want, use tabulate.

stdConfidenceConfidence Source #

The standard parameters used by checkCoverage: certainty = 10^9, tolerance = 0.9. See Confidence for the meaning of the parameters.

checkCoverageWithTestable prop ⇒ Confidence → prop → Property Source #

Check coverage requirements using a custom confidence level. See stdConfidence.

An example of making the statistical test less stringent in order to improve performance:

quickCheck (checkCoverageWith stdConfidence{certainty = 10^6} prop_foo)

checkCoverageTestable prop ⇒ prop → Property Source #

Check that all coverage requirements defined by cover and coverTable are met, using a statistically sound test, and fail if they are not met.

Ordinarily, a failed coverage check does not cause the property to fail. This is because the coverage requirement is not tested in a statistically sound way. If you use cover to express that a certain value must appear 20% of the time, QuickCheck will warn you if the value only appears in 19 out of 100 test cases - but since the coverage varies randomly, you may have just been unlucky, and there may not be any real problem with your test generation.

When you use checkCoverage, QuickCheck uses a statistical test to account for the role of luck in coverage failures. It will run as many tests as needed until it is sure about whether the coverage requirements are met. If a coverage requirement is not met, the property fails.

Example:

quickCheck (checkCoverage prop_foo)

witness ∷ (Typeable a, Show a, Testable prop) ⇒ a → prop → Property Source #

Return a value in the witnesses field of the Result returned by quickCheckResult. Witnesses are returned outer-most first.

In ghci, for example:

>>> [Wit x] <- fmap witnesses . quickCheckResult $ \ x -> witness x $ x == (0 :: Int)
*** Failed! Falsified (after 2 tests):
1
>>> x
1
>>> :t x
x :: Int

withMaxSizeTestable prop ⇒ Int → prop → Property Source #

Configure the maximum size a property will be tested at.

withMaxShrinksTestable prop ⇒ Int → prop → Property Source #

Configure the maximum number of times a property will be shrunk.

For example,

quickCheck (withMaxShrinks 100 p)

will cause p to only attempt 100 shrinks on failure.

withDiscardRatioTestable prop ⇒ Int → prop → Property Source #

Configures how many times a property is allowed to be discarded before failing.

For example,

quickCheck (withDiscardRatio 10 p)

will allow p to fail up to 10 times per successful test.

withMaxSuccessTestable prop ⇒ Int → prop → Property Source #

Configures how many times a property will be tested.

For example,

quickCheck (withMaxSuccess 1000 p)

will test p up to 1000 times.

againTestable prop ⇒ prop → Property Source #

Modifies a property so that it will be tested repeatedly. Opposite of once.

onceTestable prop ⇒ prop → Property Source #

Modifies a property so that it only will be tested once. Opposite of again.

expectFailureTestable prop ⇒ prop → Property Source #

Indicates that a property is supposed to fail. QuickCheck will report an error if it does not fail.

verboseShrinkingTestable prop ⇒ prop → Property Source #

Prints out the generated test case every time the property fails, including during shrinking. Only variables quantified over inside the verboseShrinking are printed.

Note: for technical reasons, the test case is printed out after the property is tested. To debug a property that goes into an infinite loop, use within to add a timeout instead.

verboseTestable prop ⇒ prop → Property Source #

Prints out the generated test case every time the property is tested. Only variables quantified over inside the verbose are printed.

Note: for technical reasons, the test case is printed out after the property is tested. To debug a property that goes into an infinite loop, use within to add a timeout instead.

whenFail'Testable prop ⇒ IO () → prop → Property Source #

Performs an IO action every time a property fails. Thus, if shrinking is done, this can be used to keep track of the failures along the way.

whenFailTestable prop ⇒ IO () → prop → Property Source #

Performs an IO action after the last failure of a property.

printTestCaseTestable prop ⇒ String → prop → Property Source #

Adds the given string to the counterexample if the property fails.

counterexampleTestable prop ⇒ String → prop → Property Source #

Adds the given string to the counterexample if the property fails.

noShrinkingTestable prop ⇒ prop → Property Source #

Disables shrinking for a property altogether. Only quantification inside the call to noShrinking is affected.

shrinking Source #

Arguments

Testable prop 
⇒ (a → [a])

shrink-like function.

→ a

The original argument

→ (a → prop) 
Property 

Shrinks the argument to a property if it fails. Shrinking is done automatically for most types. This function is only needed when you want to override the default behavior.

mapSizeTestable prop ⇒ (IntInt) → prop → Property Source #

Adjust the test case size for a property, by transforming it with the given function.

idempotentIOPropertyTestable prop ⇒ IO prop → Property Source #

Do I/O inside a property.

Warning: during shrinking, the I/O may not always be re-executed. Instead, the I/O may be executed once and then its result retained. If this is not acceptable, use ioProperty instead.

ioPropertyTestable prop ⇒ IO prop → Property Source #

Do I/O inside a property.

Warning: any random values generated inside of the argument to ioProperty will not currently be shrunk. For best results, generate all random values before calling ioProperty, or use idempotentIOProperty if that is safe.

data Property Source #

The type of properties.

Instances

Instances details
Testable Property 
Instance details

Defined in Test.QuickCheck.Property

Methods

propertyPropertyProperty Source #

propertyForAllShrinkShowGen a → (a → [a]) → (a → [String]) → (a → Property) → Property Source #

type Arg Property 
Instance details

Defined in Test.Hspec.Core.QuickCheck

type Arg Property = ()
type Arg (a → Property) 
Instance details

Defined in Test.Hspec.Core.QuickCheck

type Arg (a → Property) = a

class Testable prop where Source #

The class of properties, i.e., types which QuickCheck knows how to test. Typically a property will be a function returning Bool or Property.

Minimal complete definition

property

Methods

property ∷ prop → Property Source #

Convert the thing to a property.

propertyForAllShrinkShowGen a → (a → [a]) → (a → [String]) → (a → prop) → Property Source #

Optional; used internally in order to improve shrinking. Tests a property but also quantifies over an extra value (with a custom shrink and show function). The Testable instance for functions defines propertyForAllShrinkShow in a way that improves shrinking.

Instances

Instances details
Testable Discard 
Instance details

Defined in Test.QuickCheck.Property

Methods

propertyDiscardProperty Source #

propertyForAllShrinkShowGen a → (a → [a]) → (a → [String]) → (a → Discard) → Property Source #

Testable Prop 
Instance details

Defined in Test.QuickCheck.Property

Methods

property ∷ Prop → Property Source #

propertyForAllShrinkShowGen a → (a → [a]) → (a → [String]) → (a → Prop) → Property Source #

Testable Property 
Instance details

Defined in Test.QuickCheck.Property

Methods

propertyPropertyProperty Source #

propertyForAllShrinkShowGen a → (a → [a]) → (a → [String]) → (a → Property) → Property Source #

Testable Result 
Instance details

Defined in Test.QuickCheck.Property

Methods

property ∷ Result → Property Source #

propertyForAllShrinkShowGen a → (a → [a]) → (a → [String]) → (a → Result) → Property Source #

Testable () 
Instance details

Defined in Test.QuickCheck.Property

Methods

property ∷ () → Property Source #

propertyForAllShrinkShowGen a → (a → [a]) → (a → [String]) → (a → ()) → Property Source #

Testable Bool 
Instance details

Defined in Test.QuickCheck.Property

Methods

propertyBoolProperty Source #

propertyForAllShrinkShowGen a → (a → [a]) → (a → [String]) → (a → Bool) → Property Source #

Testable prop ⇒ Testable (Gen prop) 
Instance details

Defined in Test.QuickCheck.Property

Methods

propertyGen prop → Property Source #

propertyForAllShrinkShowGen a → (a → [a]) → (a → [String]) → (a → Gen prop) → Property Source #

Testable prop ⇒ Testable (Maybe prop) 
Instance details

Defined in Test.QuickCheck.Property

Methods

propertyMaybe prop → Property Source #

propertyForAllShrinkShowGen a → (a → [a]) → (a → [String]) → (a → Maybe prop) → Property Source #

(Arbitrary a, Show a, Testable prop) ⇒ Testable (a → prop) 
Instance details

Defined in Test.QuickCheck.Property

Methods

property ∷ (a → prop) → Property Source #

propertyForAllShrinkShowGen a0 → (a0 → [a0]) → (a0 → [String]) → (a0 → a → prop) → Property Source #

data Discard Source #

If a property returns Discard, the current test case is discarded, the same as if a precondition was false.

An example is the definition of ==>:

(==>) :: Testable prop => Bool -> prop -> Property
False ==> _ = property Discard
True  ==> p = property p

Constructors

Discard 

Instances

Instances details
Testable Discard 
Instance details

Defined in Test.QuickCheck.Property

Methods

propertyDiscardProperty Source #

propertyForAllShrinkShowGen a → (a → [a]) → (a → [String]) → (a → Discard) → Property Source #

data Witness Source #

Constructors

(Typeable a, Show a) ⇒ Wit a 

Instances

Instances details
Show Witness 
Instance details

Defined in Test.QuickCheck.Property

data Confidence Source #

The statistical parameters used by checkCoverage.

Constructors

Confidence 

Fields

  • certaintyInteger

    How certain checkCoverage must be before the property fails. If the coverage requirement is met, and the certainty parameter is n, then you should get a false positive at most one in n runs of QuickCheck. The default value is 10^9.

    Lower values will speed up checkCoverage at the cost of false positives.

    If you are using checkCoverage as part of a test suite, you should be careful not to set certainty too low. If you want, say, a 1% chance of a false positive during a project's lifetime, then certainty should be set to at least 100 * m * n, where m is the number of uses of cover in the test suite, and n is the number of times you expect the test suite to be run during the project's lifetime. The default value is chosen to be big enough for most projects.

  • toleranceDouble

    For statistical reasons, checkCoverage will not reject coverage levels that are only slightly below the required levels. If the required level is p then an actual level of tolerance * p will be accepted. The default value is 0.9.

    Lower values will speed up checkCoverage at the cost of not detecting minor coverage violations.

Instances

Instances details
Show Confidence 
Instance details

Defined in Test.QuickCheck.State

applyFun3Fun (a, b, c) d → a → b → c → d Source #

Extracts the value of a ternary function. Fn3 is the pattern equivalent of this function.

applyFun2Fun (a, b) c → a → b → c Source #

Extracts the value of a binary function.

Fn2 is the pattern equivalent of this function.

prop_zipWith :: Fun (Int, Bool) Char -> [Int] -> [Bool] -> Bool
prop_zipWith f xs ys = zipWith (applyFun2 f) xs ys == [ applyFun2 f x y | (x, y) <- zip xs ys]

applyFunFun a b → a → b Source #

Extracts the value of a function.

Fn is the pattern equivalent of this function.

prop :: Fun String Integer -> Bool
prop f = applyFun f "banana" == applyFun f "monkey"
      || applyFun f "banana" == applyFun f "elephant"

functionMapFunction b ⇒ (a → b) → (b → a) → (a → c) → a :-> c Source #

The basic building block for Function instances. Provides a Function instance by mapping to and from a type that already has a Function instance.

functionVoid ∷ (∀ b. void → b) → void :-> c Source #

Provides a Function instance for types isomorphic to Void.

An actual Function Void instance is defined in quickcheck-instances.

functionShow ∷ (Show a, Read a) ⇒ (a → c) → a :-> c Source #

Provides a Function instance for types with Show and Read.

functionIntegralIntegral a ⇒ (a → b) → a :-> b Source #

Provides a Function instance for types with Integral.

functionRealFracRealFrac a ⇒ (a → b) → a :-> b Source #

Provides a Function instance for types with RealFrac.

functionBoundedEnum ∷ (Eq a, Bounded a, Enum a) ⇒ (a → b) → a :-> b Source #

Provides a Function instance for types with Bounded and Enum. Use only for small types (i.e. not integers): creates the list [minBound..maxBound]!

pattern Fn ∷ (a → b) → Fun a b Source #

A modifier for testing functions.

prop :: Fun String Integer -> Bool
prop (Fn f) = f "banana" == f "monkey"
           || f "banana" == f "elephant"

pattern Fn2 ∷ (a → b → c) → Fun (a, b) c Source #

A modifier for testing binary functions.

prop_zipWith :: Fun (Int, Bool) Char -> [Int] -> [Bool] -> Bool
prop_zipWith (Fn2 f) xs ys = zipWith f xs ys == [ f x y | (x, y) <- zip xs ys]

pattern Fn3 ∷ (a → b → c → d) → Fun (a, b, c) d Source #

A modifier for testing ternary functions.

class Function a where Source #

The class Function a is used for random generation of showable functions of type a -> b.

There is a default implementation for function, which you can use if your type has structural equality. Otherwise, you can normally use functionMap or functionShow.

Minimal complete definition

Nothing

Methods

function ∷ (a → b) → a :-> b Source #

Instances

Instances details
Function A 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (A → b) → A :-> b Source #

Function B 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (B → b) → B :-> b Source #

Function C 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (C → b) → C :-> b Source #

Function OrdA 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (OrdA → b) → OrdA :-> b Source #

Function OrdB 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (OrdB → b) → OrdB :-> b Source #

Function OrdC 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (OrdC → b) → OrdC :-> b Source #

Function Key

Since: aeson-2.0.3.0

Instance details

Defined in Data.Aeson.Key

Methods

function ∷ (Key → b) → Key :-> b Source #

Function Value

Since: aeson-2.0.3.0

Instance details

Defined in Data.Aeson.Types.Internal

Methods

function ∷ (Value → b) → Value :-> b Source #

Function All 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (All → b) → All :-> b Source #

Function Any 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Any → b) → Any :-> b Source #

Function Newline 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Newline → b) → Newline :-> b Source #

Function NewlineMode 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (NewlineMode → b) → NewlineMode :-> b Source #

Function Int16 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Int16 → b) → Int16 :-> b Source #

Function Int32 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Int32 → b) → Int32 :-> b Source #

Function Int64 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Int64 → b) → Int64 :-> b Source #

Function Int8 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Int8 → b) → Int8 :-> b Source #

Function Word16 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Word16 → b) → Word16 :-> b Source #

Function Word32 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Word32 → b) → Word32 :-> b Source #

Function Word64 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Word64 → b) → Word64 :-> b Source #

Function Word8 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Word8 → b) → Word8 :-> b Source #

Function ByteString64 
Instance details

Defined in Data.ByteString.Base64.Type

Methods

function ∷ (ByteString64 → b) → ByteString64 :-> b Source #

Function IntSet 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (IntSet → b) → IntSet :-> b Source #

Function Ordering 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Ordering → b) → Ordering :-> b Source #

Function Integer 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Integer → b) → Integer :-> b Source #

Function () 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (() → b) → () :-> b Source #

Function Bool 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Bool → b) → Bool :-> b Source #

Function Char 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Char → b) → Char :-> b Source #

Function Double 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Double → b) → Double :-> b Source #

Function Float 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Float → b) → Float :-> b Source #

Function Int 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Int → b) → Int :-> b Source #

Function Word 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Word → b) → Word :-> b Source #

Function v ⇒ Function (KeyMap v)

Since: aeson-2.0.3.0

Instance details

Defined in Data.Aeson.KeyMap

Methods

function ∷ (KeyMap v → b) → KeyMap v :-> b Source #

(RealFloat a, Function a) ⇒ Function (Complex a) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Complex a → b) → Complex a :-> b Source #

Function a ⇒ Function (Identity a) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Identity a → b) → Identity a :-> b Source #

Function a ⇒ Function (First a) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (First a → b) → First a :-> b Source #

Function a ⇒ Function (Last a) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Last a → b) → Last a :-> b Source #

Function a ⇒ Function (Dual a) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Dual a → b) → Dual a :-> b Source #

Function a ⇒ Function (Product a) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Product a → b) → Product a :-> b Source #

Function a ⇒ Function (Sum a) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Sum a → b) → Sum a :-> b Source #

(Integral a, Function a) ⇒ Function (Ratio a) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Ratio a → b) → Ratio a :-> b Source #

Function a ⇒ Function (IntMap a) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (IntMap a → b) → IntMap a :-> b Source #

Function a ⇒ Function (Seq a) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Seq a → b) → Seq a :-> b Source #

(Ord a, Function a) ⇒ Function (Set a) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Set a → b) → Set a :-> b Source #

Function a ⇒ Function (Tree a) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Tree a → b) → Tree a :-> b Source #

Function a ⇒ Function (Maybe a) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Maybe a → b) → Maybe a :-> b Source #

Function a ⇒ Function [a] 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ ([a] → b) → [a] :-> b Source #

(Function a, Function b) ⇒ Function (Either a b) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Either a b → b0) → Either a b :-> b0 Source #

HasResolution a ⇒ Function (Fixed a) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Fixed a → b) → Fixed a :-> b Source #

(Ord a, Function a, Function b) ⇒ Function (Map a b) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Map a b → b0) → Map a b :-> b0 Source #

(Function a, Function b) ⇒ Function (a, b) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ ((a, b) → b0) → (a, b) :-> b0 Source #

Function a ⇒ Function (Const a b) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Const a b → b0) → Const a b :-> b0 Source #

Function (f a) ⇒ Function (Alt f a) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ (Alt f a → b) → Alt f a :-> b Source #

(Function a, Function b, Function c) ⇒ Function (a, b, c) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ ((a, b, c) → b0) → (a, b, c) :-> b0 Source #

(Function a, Function b, Function c, Function d) ⇒ Function (a, b, c, d) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ ((a, b, c, d) → b0) → (a, b, c, d) :-> b0 Source #

(Function a, Function b, Function c, Function d, Function e) ⇒ Function (a, b, c, d, e) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ ((a, b, c, d, e) → b0) → (a, b, c, d, e) :-> b0 Source #

(Function a, Function b, Function c, Function d, Function e, Function f) ⇒ Function (a, b, c, d, e, f) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ ((a, b, c, d, e, f) → b0) → (a, b, c, d, e, f) :-> b0 Source #

(Function a, Function b, Function c, Function d, Function e, Function f, Function g) ⇒ Function (a, b, c, d, e, f, g) 
Instance details

Defined in Test.QuickCheck.Function

Methods

function ∷ ((a, b, c, d, e, f, g) → b0) → (a, b, c, d, e, f, g) :-> b0 Source #

data Fun a b Source #

Generation of random shrinkable, showable functions.

To generate random values of type Fun a b, you must have an instance Function a.

See also applyFun, and Fn with GHC >= 7.8.

Constructors

Fun (a :-> b, b, Shrunk) (a → b) 

Instances

Instances details
Functor (Fun a) 
Instance details

Defined in Test.QuickCheck.Function

Methods

fmap ∷ (a0 → b) → Fun a a0 → Fun a b Source #

(<$) ∷ a0 → Fun a b → Fun a a0 Source #

(Function a, CoArbitrary a, Arbitrary b) ⇒ Arbitrary (Fun a b) 
Instance details

Defined in Test.QuickCheck.Function

Methods

arbitraryGen (Fun a b) Source #

shrinkFun a b → [Fun a b] Source #

(Show a, Show b) ⇒ Show (Fun a b) 
Instance details

Defined in Test.QuickCheck.Function

Methods

showsPrecIntFun a b → ShowS Source #

showFun a b → String Source #

showList ∷ [Fun a b] → ShowS Source #

newtype Blind a Source #

Blind x: as x, but x does not have to be in the Show class.

Constructors

Blind 

Fields

Instances

Instances details
Functor Blind 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap ∷ (a → b) → Blind a → Blind b Source #

(<$) ∷ a → Blind b → Blind a Source #

Arbitrary a ⇒ Arbitrary (Blind a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitraryGen (Blind a) Source #

shrinkBlind a → [Blind a] Source #

Enum a ⇒ Enum (Blind a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

succBlind a → Blind a Source #

predBlind a → Blind a Source #

toEnumIntBlind a Source #

fromEnumBlind a → Int Source #

enumFromBlind a → [Blind a] Source #

enumFromThenBlind a → Blind a → [Blind a] Source #

enumFromToBlind a → Blind a → [Blind a] Source #

enumFromThenToBlind a → Blind a → Blind a → [Blind a] Source #

Num a ⇒ Num (Blind a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(+)Blind a → Blind a → Blind a Source #

(-)Blind a → Blind a → Blind a Source #

(*)Blind a → Blind a → Blind a Source #

negateBlind a → Blind a Source #

absBlind a → Blind a Source #

signumBlind a → Blind a Source #

fromIntegerIntegerBlind a Source #

Integral a ⇒ Integral (Blind a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

quotBlind a → Blind a → Blind a Source #

remBlind a → Blind a → Blind a Source #

divBlind a → Blind a → Blind a Source #

modBlind a → Blind a → Blind a Source #

quotRemBlind a → Blind a → (Blind a, Blind a) Source #

divModBlind a → Blind a → (Blind a, Blind a) Source #

toIntegerBlind a → Integer Source #

Real a ⇒ Real (Blind a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

toRationalBlind a → Rational Source #

Show (Blind a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrecIntBlind a → ShowS Source #

showBlind a → String Source #

showList ∷ [Blind a] → ShowS Source #

Eq a ⇒ Eq (Blind a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

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

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

Ord a ⇒ Ord (Blind a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compareBlind a → Blind a → Ordering Source #

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

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

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

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

maxBlind a → Blind a → Blind a Source #

minBlind a → Blind a → Blind a Source #

newtype Fixed a Source #

Fixed x: as x, but will not be shrunk.

Constructors

Fixed 

Fields

Instances

Instances details
Functor Fixed 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap ∷ (a → b) → Fixed a → Fixed b Source #

(<$) ∷ a → Fixed b → Fixed a Source #

Arbitrary a ⇒ Arbitrary (Fixed a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitraryGen (Fixed a) Source #

shrinkFixed a → [Fixed a] Source #

Enum a ⇒ Enum (Fixed a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

succFixed a → Fixed a Source #

predFixed a → Fixed a Source #

toEnumIntFixed a Source #

fromEnumFixed a → Int Source #

enumFromFixed a → [Fixed a] Source #

enumFromThenFixed a → Fixed a → [Fixed a] Source #

enumFromToFixed a → Fixed a → [Fixed a] Source #

enumFromThenToFixed a → Fixed a → Fixed a → [Fixed a] Source #

Num a ⇒ Num (Fixed a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(+)Fixed a → Fixed a → Fixed a Source #

(-)Fixed a → Fixed a → Fixed a Source #

(*)Fixed a → Fixed a → Fixed a Source #

negateFixed a → Fixed a Source #

absFixed a → Fixed a Source #

signumFixed a → Fixed a Source #

fromIntegerIntegerFixed a Source #

Read a ⇒ Read (Fixed a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Integral a ⇒ Integral (Fixed a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

quotFixed a → Fixed a → Fixed a Source #

remFixed a → Fixed a → Fixed a Source #

divFixed a → Fixed a → Fixed a Source #

modFixed a → Fixed a → Fixed a Source #

quotRemFixed a → Fixed a → (Fixed a, Fixed a) Source #

divModFixed a → Fixed a → (Fixed a, Fixed a) Source #

toIntegerFixed a → Integer Source #

Real a ⇒ Real (Fixed a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

toRationalFixed a → Rational Source #

Show a ⇒ Show (Fixed a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrecIntFixed a → ShowS Source #

showFixed a → String Source #

showList ∷ [Fixed a] → ShowS Source #

Eq a ⇒ Eq (Fixed a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

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

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

Ord a ⇒ Ord (Fixed a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compareFixed a → Fixed a → Ordering Source #

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

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

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

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

maxFixed a → Fixed a → Fixed a Source #

minFixed a → Fixed a → Fixed a Source #

newtype OrderedList a Source #

Ordered xs: guarantees that xs is ordered.

Constructors

Ordered 

Fields

Instances

Instances details
Functor OrderedList 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap ∷ (a → b) → OrderedList a → OrderedList b Source #

(<$) ∷ a → OrderedList b → OrderedList a Source #

(Ord a, Arbitrary a) ⇒ Arbitrary (OrderedList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Read a ⇒ Read (OrderedList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Show a ⇒ Show (OrderedList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Eq a ⇒ Eq (OrderedList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Ord a ⇒ Ord (OrderedList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

newtype NonEmptyList a Source #

NonEmpty xs: guarantees that xs is non-empty.

Constructors

NonEmpty 

Fields

Instances

Instances details
Functor NonEmptyList 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap ∷ (a → b) → NonEmptyList a → NonEmptyList b Source #

(<$) ∷ a → NonEmptyList b → NonEmptyList a Source #

Arbitrary a ⇒ Arbitrary (NonEmptyList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Read a ⇒ Read (NonEmptyList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Show a ⇒ Show (NonEmptyList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Eq a ⇒ Eq (NonEmptyList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Ord a ⇒ Ord (NonEmptyList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

data InfiniteList a Source #

InfiniteList xs _: guarantees that xs is an infinite list. When a counterexample is found, only prints the prefix of xs that was used by the program.

Here is a contrived example property:

prop_take_10 :: InfiniteList Char -> Bool
prop_take_10 (InfiniteList xs _) =
  or [ x == 'a' | x <- take 10 xs ]

In the following counterexample, the list must start with "bbbbbbbbbb" but the remaining (infinite) part can contain anything:

>>> quickCheck prop_take_10
*** Failed! Falsified (after 1 test and 14 shrinks):
"bbbbbbbbbb" ++ ...

Constructors

InfiniteList 

Fields

Instances

Instances details
Arbitrary a ⇒ Arbitrary (InfiniteList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Show a ⇒ Show (InfiniteList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

newtype SortedList a Source #

Sorted xs: guarantees that xs is sorted.

Constructors

Sorted 

Fields

Instances

Instances details
Functor SortedList 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap ∷ (a → b) → SortedList a → SortedList b Source #

(<$) ∷ a → SortedList b → SortedList a Source #

(Arbitrary a, Ord a) ⇒ Arbitrary (SortedList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Read a ⇒ Read (SortedList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Show a ⇒ Show (SortedList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Eq a ⇒ Eq (SortedList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

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

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

Ord a ⇒ Ord (SortedList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

newtype Positive a Source #

Positive x: guarantees that x > 0.

Constructors

Positive 

Fields

Instances

Instances details
Functor Positive 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap ∷ (a → b) → Positive a → Positive b Source #

(<$) ∷ a → Positive b → Positive a Source #

(Num a, Ord a, Arbitrary a) ⇒ Arbitrary (Positive a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Enum a ⇒ Enum (Positive a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Read a ⇒ Read (Positive a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Show a ⇒ Show (Positive a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Eq a ⇒ Eq (Positive a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

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

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

Ord a ⇒ Ord (Positive a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

comparePositive a → Positive a → Ordering Source #

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

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

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

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

maxPositive a → Positive a → Positive a Source #

minPositive a → Positive a → Positive a Source #

newtype Negative a Source #

Negative x: guarantees that x < 0.

Constructors

Negative 

Fields

Instances

Instances details
Functor Negative 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap ∷ (a → b) → Negative a → Negative b Source #

(<$) ∷ a → Negative b → Negative a Source #

(Num a, Ord a, Arbitrary a) ⇒ Arbitrary (Negative a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Enum a ⇒ Enum (Negative a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Read a ⇒ Read (Negative a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Show a ⇒ Show (Negative a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Eq a ⇒ Eq (Negative a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

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

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

Ord a ⇒ Ord (Negative a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compareNegative a → Negative a → Ordering Source #

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

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

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

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

maxNegative a → Negative a → Negative a Source #

minNegative a → Negative a → Negative a Source #

newtype NonZero a Source #

NonZero x: guarantees that x /= 0.

Constructors

NonZero 

Fields

Instances

Instances details
Functor NonZero 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap ∷ (a → b) → NonZero a → NonZero b Source #

(<$) ∷ a → NonZero b → NonZero a Source #

(Num a, Eq a, Arbitrary a) ⇒ Arbitrary (NonZero a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitraryGen (NonZero a) Source #

shrinkNonZero a → [NonZero a] Source #

Enum a ⇒ Enum (NonZero a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Read a ⇒ Read (NonZero a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Show a ⇒ Show (NonZero a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrecIntNonZero a → ShowS Source #

showNonZero a → String Source #

showList ∷ [NonZero a] → ShowS Source #

Eq a ⇒ Eq (NonZero a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

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

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

Ord a ⇒ Ord (NonZero a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compareNonZero a → NonZero a → Ordering Source #

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

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

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

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

maxNonZero a → NonZero a → NonZero a Source #

minNonZero a → NonZero a → NonZero a Source #

newtype NonNegative a Source #

NonNegative x: guarantees that x >= 0.

Constructors

NonNegative 

Fields

Instances

Instances details
Functor NonNegative 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap ∷ (a → b) → NonNegative a → NonNegative b Source #

(<$) ∷ a → NonNegative b → NonNegative a Source #

(Num a, Ord a, Arbitrary a) ⇒ Arbitrary (NonNegative a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Enum a ⇒ Enum (NonNegative a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Read a ⇒ Read (NonNegative a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Show a ⇒ Show (NonNegative a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Eq a ⇒ Eq (NonNegative a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Ord a ⇒ Ord (NonNegative a) 
Instance details

Defined in Test.QuickCheck.Modifiers

newtype NonPositive a Source #

NonPositive x: guarantees that x <= 0.

Constructors

NonPositive 

Fields

Instances

Instances details
Functor NonPositive 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap ∷ (a → b) → NonPositive a → NonPositive b Source #

(<$) ∷ a → NonPositive b → NonPositive a Source #

(Num a, Ord a, Arbitrary a) ⇒ Arbitrary (NonPositive a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Enum a ⇒ Enum (NonPositive a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Read a ⇒ Read (NonPositive a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Show a ⇒ Show (NonPositive a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Eq a ⇒ Eq (NonPositive a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Ord a ⇒ Ord (NonPositive a) 
Instance details

Defined in Test.QuickCheck.Modifiers

newtype Large a Source #

Large x: by default, QuickCheck generates Ints drawn from a small range. Large Int gives you values drawn from the entire range instead.

Constructors

Large 

Fields

Instances

Instances details
Functor Large 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap ∷ (a → b) → Large a → Large b Source #

(<$) ∷ a → Large b → Large a Source #

(Integral a, Bounded a) ⇒ Arbitrary (Large a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitraryGen (Large a) Source #

shrinkLarge a → [Large a] Source #

Enum a ⇒ Enum (Large a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

succLarge a → Large a Source #

predLarge a → Large a Source #

toEnumIntLarge a Source #

fromEnumLarge a → Int Source #

enumFromLarge a → [Large a] Source #

enumFromThenLarge a → Large a → [Large a] Source #

enumFromToLarge a → Large a → [Large a] Source #

enumFromThenToLarge a → Large a → Large a → [Large a] Source #

Ix a ⇒ Ix (Large a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

range ∷ (Large a, Large a) → [Large a] Source #

index ∷ (Large a, Large a) → Large a → Int Source #

unsafeIndex ∷ (Large a, Large a) → Large a → Int Source #

inRange ∷ (Large a, Large a) → Large a → Bool Source #

rangeSize ∷ (Large a, Large a) → Int Source #

unsafeRangeSize ∷ (Large a, Large a) → Int Source #

Num a ⇒ Num (Large a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(+)Large a → Large a → Large a Source #

(-)Large a → Large a → Large a Source #

(*)Large a → Large a → Large a Source #

negateLarge a → Large a Source #

absLarge a → Large a Source #

signumLarge a → Large a Source #

fromIntegerIntegerLarge a Source #

Read a ⇒ Read (Large a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Integral a ⇒ Integral (Large a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

quotLarge a → Large a → Large a Source #

remLarge a → Large a → Large a Source #

divLarge a → Large a → Large a Source #

modLarge a → Large a → Large a Source #

quotRemLarge a → Large a → (Large a, Large a) Source #

divModLarge a → Large a → (Large a, Large a) Source #

toIntegerLarge a → Integer Source #

Real a ⇒ Real (Large a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

toRationalLarge a → Rational Source #

Show a ⇒ Show (Large a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrecIntLarge a → ShowS Source #

showLarge a → String Source #

showList ∷ [Large a] → ShowS Source #

Eq a ⇒ Eq (Large a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

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

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

Ord a ⇒ Ord (Large a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compareLarge a → Large a → Ordering Source #

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

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

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

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

maxLarge a → Large a → Large a Source #

minLarge a → Large a → Large a Source #

newtype Small a Source #

Small x: generates values of x drawn from a small range. The opposite of Large.

Constructors

Small 

Fields

Instances

Instances details
Functor Small 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap ∷ (a → b) → Small a → Small b Source #

(<$) ∷ a → Small b → Small a Source #

Integral a ⇒ Arbitrary (Small a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitraryGen (Small a) Source #

shrinkSmall a → [Small a] Source #

Enum a ⇒ Enum (Small a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

succSmall a → Small a Source #

predSmall a → Small a Source #

toEnumIntSmall a Source #

fromEnumSmall a → Int Source #

enumFromSmall a → [Small a] Source #

enumFromThenSmall a → Small a → [Small a] Source #

enumFromToSmall a → Small a → [Small a] Source #

enumFromThenToSmall a → Small a → Small a → [Small a] Source #

Ix a ⇒ Ix (Small a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

range ∷ (Small a, Small a) → [Small a] Source #

index ∷ (Small a, Small a) → Small a → Int Source #

unsafeIndex ∷ (Small a, Small a) → Small a → Int Source #

inRange ∷ (Small a, Small a) → Small a → Bool Source #

rangeSize ∷ (Small a, Small a) → Int Source #

unsafeRangeSize ∷ (Small a, Small a) → Int Source #

Num a ⇒ Num (Small a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(+)Small a → Small a → Small a Source #

(-)Small a → Small a → Small a Source #

(*)Small a → Small a → Small a Source #

negateSmall a → Small a Source #

absSmall a → Small a Source #

signumSmall a → Small a Source #

fromIntegerIntegerSmall a Source #

Read a ⇒ Read (Small a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Integral a ⇒ Integral (Small a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

quotSmall a → Small a → Small a Source #

remSmall a → Small a → Small a Source #

divSmall a → Small a → Small a Source #

modSmall a → Small a → Small a Source #

quotRemSmall a → Small a → (Small a, Small a) Source #

divModSmall a → Small a → (Small a, Small a) Source #

toIntegerSmall a → Integer Source #

Real a ⇒ Real (Small a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

toRationalSmall a → Rational Source #

Show a ⇒ Show (Small a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrecIntSmall a → ShowS Source #

showSmall a → String Source #

showList ∷ [Small a] → ShowS Source #

Eq a ⇒ Eq (Small a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

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

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

Ord a ⇒ Ord (Small a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compareSmall a → Small a → Ordering Source #

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

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

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

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

maxSmall a → Small a → Small a Source #

minSmall a → Small a → Small a Source #

newtype Shrink2 a Source #

Shrink2 x: allows 2 shrinking steps at the same time when shrinking x

Constructors

Shrink2 

Fields

Instances

Instances details
Functor Shrink2 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap ∷ (a → b) → Shrink2 a → Shrink2 b Source #

(<$) ∷ a → Shrink2 b → Shrink2 a Source #

Arbitrary a ⇒ Arbitrary (Shrink2 a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitraryGen (Shrink2 a) Source #

shrinkShrink2 a → [Shrink2 a] Source #

Enum a ⇒ Enum (Shrink2 a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Num a ⇒ Num (Shrink2 a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(+)Shrink2 a → Shrink2 a → Shrink2 a Source #

(-)Shrink2 a → Shrink2 a → Shrink2 a Source #

(*)Shrink2 a → Shrink2 a → Shrink2 a Source #

negateShrink2 a → Shrink2 a Source #

absShrink2 a → Shrink2 a Source #

signumShrink2 a → Shrink2 a Source #

fromIntegerIntegerShrink2 a Source #

Read a ⇒ Read (Shrink2 a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Integral a ⇒ Integral (Shrink2 a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

quotShrink2 a → Shrink2 a → Shrink2 a Source #

remShrink2 a → Shrink2 a → Shrink2 a Source #

divShrink2 a → Shrink2 a → Shrink2 a Source #

modShrink2 a → Shrink2 a → Shrink2 a Source #

quotRemShrink2 a → Shrink2 a → (Shrink2 a, Shrink2 a) Source #

divModShrink2 a → Shrink2 a → (Shrink2 a, Shrink2 a) Source #

toIntegerShrink2 a → Integer Source #

Real a ⇒ Real (Shrink2 a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Show a ⇒ Show (Shrink2 a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrecIntShrink2 a → ShowS Source #

showShrink2 a → String Source #

showList ∷ [Shrink2 a] → ShowS Source #

Eq a ⇒ Eq (Shrink2 a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

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

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

Ord a ⇒ Ord (Shrink2 a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compareShrink2 a → Shrink2 a → Ordering Source #

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

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

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

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

maxShrink2 a → Shrink2 a → Shrink2 a Source #

minShrink2 a → Shrink2 a → Shrink2 a Source #

data Smart a Source #

Smart _ x: tries a different order when shrinking.

Constructors

Smart Int a 

Instances

Instances details
Functor Smart 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap ∷ (a → b) → Smart a → Smart b Source #

(<$) ∷ a → Smart b → Smart a Source #

Arbitrary a ⇒ Arbitrary (Smart a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitraryGen (Smart a) Source #

shrinkSmart a → [Smart a] Source #

Show a ⇒ Show (Smart a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrecIntSmart a → ShowS Source #

showSmart a → String Source #

showList ∷ [Smart a] → ShowS Source #

data Shrinking s a Source #

Shrinking _ x: allows for maintaining a state during shrinking.

Constructors

Shrinking s a 

Instances

Instances details
Functor (Shrinking s) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap ∷ (a → b) → Shrinking s a → Shrinking s b Source #

(<$) ∷ a → Shrinking s b → Shrinking s a Source #

(Arbitrary a, ShrinkState s a) ⇒ Arbitrary (Shrinking s a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitraryGen (Shrinking s a) Source #

shrinkShrinking s a → [Shrinking s a] Source #

Show a ⇒ Show (Shrinking s a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrecIntShrinking s a → ShowS Source #

showShrinking s a → String Source #

showList ∷ [Shrinking s a] → ShowS Source #

class ShrinkState s a where Source #

Methods

shrinkInit ∷ a → s Source #

shrinkState ∷ a → s → [(a, s)] Source #

newtype UnicodeString Source #

UnicodeString: generates a unicode String. The string will not contain surrogate pairs.

Constructors

UnicodeString 

newtype PrintableString Source #

PrintableString: generates a printable unicode String. The string will not contain surrogate pairs.

Constructors

PrintableString 

infiniteListArbitrary a ⇒ Gen [a] Source #

Generates an infinite list.

orderedList ∷ (Ord a, Arbitrary a) ⇒ Gen [a] Source #

Generates an ordered list.

vectorArbitrary a ⇒ IntGen [a] Source #

Generates a list of a given length.

coarbitraryEnumEnum a ⇒ a → Gen b → Gen b Source #

A coarbitrary implementation for enums.

coarbitraryShowShow a ⇒ a → Gen b → Gen b Source #

coarbitrary helper for lazy people :-).

coarbitraryRealReal a ⇒ a → Gen b → Gen b Source #

A coarbitrary implementation for real numbers.

coarbitraryIntegralIntegral a ⇒ a → Gen b → Gen b Source #

A coarbitrary implementation for integral numbers.

(><) ∷ (Gen a → Gen a) → (Gen a → Gen a) → Gen a → Gen a Source #

Combine two generator perturbing functions, for example the results of calls to variant or coarbitrary.

genericCoarbitrary ∷ (Generic a, GCoArbitrary (Rep a)) ⇒ a → Gen b → Gen b Source #

Generic CoArbitrary implementation.

shrinkDecimalRealFrac a ⇒ a → [a] Source #

Shrink a real number, preferring numbers with shorter decimal representations. See also shrinkRealFrac.

shrinkRealFracRealFrac a ⇒ a → [a] Source #

Shrink a fraction, preferring numbers with smaller numerators or denominators. See also shrinkDecimal.

shrinkBoundedEnum ∷ (Bounded a, Enum a, Eq a) ⇒ a → [a] Source #

Shrink an element of a bounded enumeration.

Example

Expand
data MyEnum = E0 | E1 | E2 | E3 | E4 | E5 | E6 | E7 | E8 | E9
   deriving (Bounded, Enum, Eq, Ord, Show)
>>> shrinkBoundedEnum E9
[E0,E5,E7,E8]
>>> shrinkBoundedEnum E5
[E0,E3,E4]
>>> shrinkBoundedEnum E0
[]

shrinkIntegralIntegral a ⇒ a → [a] Source #

Shrink an integral number.

shrinkMapBy ∷ (a → b) → (b → a) → (a → [a]) → b → [b] Source #

Non-overloaded version of shrinkMap.

shrinkMapArbitrary a ⇒ (a → b) → (b → a) → b → [b] Source #

Map a shrink function to another domain. This is handy if your data type has special invariants, but is almost isomorphic to some other type.

shrinkOrderedList :: (Ord a, Arbitrary a) => [a] -> [[a]]
shrinkOrderedList = shrinkMap sort id

shrinkSet :: (Ord a, Arbitrary a) => Set a -> [Set a]
shrinkSet = shrinkMap fromList toList

shrinkNothing ∷ a → [a] Source #

Returns no shrinking alternatives.

arbitraryPrintableCharGen Char Source #

Generates a printable Unicode character.

arbitraryASCIICharGen Char Source #

Generates a random ASCII character (0-127).

arbitraryUnicodeCharGen Char Source #

Generates any Unicode character (but not a surrogate)

arbitrarySizedBoundedIntegral ∷ (Bounded a, Integral a) ⇒ Gen a Source #

Generates an integral number from a bounded domain. The number is chosen from the entire range of the type, but small numbers are generated more often than big numbers. Inspired by demands from Phil Wadler.

arbitraryBoundedEnum ∷ (Bounded a, Enum a) ⇒ Gen a Source #

Generates an element of a bounded enumeration.

arbitraryBoundedRandom ∷ (Bounded a, Random a) ⇒ Gen a Source #

Generates an element of a bounded type. The element is chosen from the entire range of the type.

arbitraryBoundedIntegral ∷ (Bounded a, Integral a) ⇒ Gen a Source #

Generates an integral number. The number is chosen uniformly from the entire range of the type. You may want to use arbitrarySizedBoundedIntegral instead.

arbitrarySizedFractionalFractional a ⇒ Gen a Source #

Uniformly generates a fractional number. The number can be positive or negative and its maximum absolute value depends on the size parameter.

arbitrarySizedNaturalIntegral a ⇒ Gen a Source #

Generates a natural number. The number's maximum value depends on the size parameter.

arbitrarySizedIntegralIntegral a ⇒ Gen a Source #

Generates an integral number. The number can be positive or negative and its maximum absolute value depends on the size parameter.

applyArbitrary4 ∷ (Arbitrary a, Arbitrary b, Arbitrary c, Arbitrary d) ⇒ (a → b → c → d → r) → Gen r Source #

Apply a function of arity 4 to random arguments.

applyArbitrary3 ∷ (Arbitrary a, Arbitrary b, Arbitrary c) ⇒ (a → b → c → r) → Gen r Source #

Apply a ternary function to random arguments.

applyArbitrary2 ∷ (Arbitrary a, Arbitrary b) ⇒ (a → b → r) → Gen r Source #

Apply a binary function to random arguments.

shrinkList ∷ (a → [a]) → [a] → [[a]] Source #

Shrink a list of values given a shrinking function for individual values.

subterms ∷ (Generic a, GSubterms (Rep a) a) ⇒ a → [a] Source #

All immediate subterms of a term.

recursivelyShrink ∷ (Generic a, RecursivelyShrink (Rep a)) ⇒ a → [a] Source #

Recursively shrink all immediate subterms.

genericShrink ∷ (Generic a, RecursivelyShrink (Rep a), GSubterms (Rep a) a) ⇒ a → [a] Source #

Shrink a term to any of its immediate subterms, and also recursively shrink all subterms.

shrink2 ∷ (Arbitrary2 f, Arbitrary a, Arbitrary b) ⇒ f a b → [f a b] Source #

arbitrary2 ∷ (Arbitrary2 f, Arbitrary a, Arbitrary b) ⇒ Gen (f a b) Source #

shrink1 ∷ (Arbitrary1 f, Arbitrary a) ⇒ f a → [f a] Source #

arbitrary1 ∷ (Arbitrary1 f, Arbitrary a) ⇒ Gen (f a) Source #

class Arbitrary a where Source #

Random generation and shrinking of values.

QuickCheck provides Arbitrary instances for most types in base, except those which incur extra dependencies. For a wider range of Arbitrary instances see the quickcheck-instances package.

Minimal complete definition

arbitrary

Methods

arbitraryGen a Source #

A generator for values of the given type.

It is worth spending time thinking about what sort of test data you want - good generators are often the difference between finding bugs and not finding them. You can use sample, label and classify to check the quality of your test data.

There is no generic arbitrary implementation included because we don't know how to make a high-quality one. If you want one, consider using the testing-feat or generic-random packages.

The QuickCheck manual goes into detail on how to write good generators. Make sure to look at it, especially if your type is recursive!

shrink ∷ a → [a] Source #

Produces a (possibly) empty list of all the possible immediate shrinks of the given value.

The default implementation returns the empty list, so will not try to shrink the value. If your data type has no special invariants, you can enable shrinking by defining shrink = genericShrink, but by customising the behaviour of shrink you can often get simpler counterexamples.

Most implementations of shrink should try at least three things:

  1. Shrink a term to any of its immediate subterms. You can use subterms to do this.
  2. Recursively apply shrink to all immediate subterms. You can use recursivelyShrink to do this.
  3. Type-specific shrinkings such as replacing a constructor by a simpler constructor.

For example, suppose we have the following implementation of binary trees:

data Tree a = Nil | Branch a (Tree a) (Tree a)

We can then define shrink as follows:

shrink Nil = []
shrink (Branch x l r) =
  -- shrink Branch to Nil
  [Nil] ++
  -- shrink to subterms
  [l, r] ++
  -- recursively shrink subterms
  [Branch x' l' r' | (x', l', r') <- shrink (x, l, r)]

There are a couple of subtleties here:

  • QuickCheck tries the shrinking candidates in the order they appear in the list, so we put more aggressive shrinking steps (such as replacing the whole tree by Nil) before smaller ones (such as recursively shrinking the subtrees).
  • It is tempting to write the last line as [Branch x' l' r' | x' <- shrink x, l' <- shrink l, r' <- shrink r] but this is the wrong thing! It will force QuickCheck to shrink x, l and r in tandem, and shrinking will stop once one of the three is fully shrunk.

There is a fair bit of boilerplate in the code above. We can avoid it with the help of some generic functions. The function genericShrink tries shrinking a term to all of its subterms and, failing that, recursively shrinks the subterms. Using it, we can define shrink as:

shrink x = shrinkToNil x ++ genericShrink x
  where
    shrinkToNil Nil = []
    shrinkToNil (Branch _ l r) = [Nil]

genericShrink is a combination of subterms, which shrinks a term to any of its subterms, and recursivelyShrink, which shrinks all subterms of a term. These may be useful if you need a bit more control over shrinking than genericShrink gives you.

A final gotcha: we cannot define shrink as simply shrink x = Nil:genericShrink x as this shrinks Nil to Nil, and shrinking will go into an infinite loop.

If all this leaves you bewildered, you might try shrink = genericShrink to begin with, after deriving Generic for your type. However, if your data type has any special invariants, you will need to check that genericShrink can't break those invariants.

Instances

Instances details
Arbitrary ASCIIString 
Instance details

Defined in Test.QuickCheck.Modifiers

Arbitrary PrintableString 
Instance details

Defined in Test.QuickCheck.Modifiers

Arbitrary UnicodeString 
Instance details

Defined in Test.QuickCheck.Modifiers

Arbitrary QCGen 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen QCGen Source #

shrink ∷ QCGen → [QCGen] Source #

Arbitrary Key

Since: aeson-2.0.3.0

Instance details

Defined in Data.Aeson.Key

Methods

arbitraryGen Key Source #

shrinkKey → [Key] Source #

Arbitrary Value

Since: aeson-2.0.3.0

Instance details

Defined in Data.Aeson.Types.Internal

Arbitrary All 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen All Source #

shrinkAll → [All] Source #

Arbitrary Any 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen Any Source #

shrinkAny → [Any] Source #

Arbitrary Version

Generates Version with non-empty non-negative versionBranch, and empty versionTags

Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CChar 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CClock 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CDouble 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CFloat 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CInt 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CIntMax 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CIntPtr 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CLLong 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CLong 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CPtrdiff 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CSChar 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CSUSeconds 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CShort 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CSigAtomic 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CSize 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CTime 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CUChar 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CUInt 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CUIntMax 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CUIntPtr 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CULLong 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CULong 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CUSeconds 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CUShort 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary CWchar 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary ExitCode 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary Newline 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary NewlineMode 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary Int16 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary Int32 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary Int64 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary Int8 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary Word16 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary Word32 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary Word64 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary Word8 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary ByteString64 
Instance details

Defined in Data.ByteString.Base64.Type

Arbitrary AddrAttributes Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary Address Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary ActiveSlotCoeff Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary CertIx Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary DnsName Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary Network Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary NonNegativeInterval Source #

Decimal numbers only

Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary Nonce Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary Port Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary PositiveInterval Source #

Decimal numbers only

Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary PositiveUnitInterval Source #

Decimal numbers only

Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary ProtVer Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary TxIx Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary UnitInterval Source #

Decimal numbers only

Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary Url Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen Url Source #

shrinkUrl → [Url] Source #

Arbitrary Coin Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary DeltaCoin Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary Ptr Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen Ptr Source #

shrinkPtr → [Ptr] Source #

Arbitrary ChainCode Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary CostModel Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary CostModels Source #

This Arbitrary instance assumes the inflexible deserialization scheme prior to version 9.

Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary ExUnits Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary Prices Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary Language Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary PoolMetadata Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary SizeOfPoolOwners Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary SizeOfPoolRelays Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary StakePoolRelay Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary RewardType Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary RDPair Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary ByronKeyPair Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.KeyPair

Arbitrary EpochInterval Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Arbitrary IntSet

WARNING: The same warning as for Arbitrary (Set a) applies here.

Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary Ordering 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary Expr 
Instance details

Defined in Data.TreeDiff.Expr

Arbitrary Integer 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary () 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen () Source #

shrink ∷ () → [()] Source #

Arbitrary Bool 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary Char 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary Double 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary Float 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary Int 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen Int Source #

shrinkInt → [Int] Source #

Arbitrary Word 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary a ⇒ Arbitrary (Blind a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitraryGen (Blind a) Source #

shrinkBlind a → [Blind a] Source #

Arbitrary a ⇒ Arbitrary (Fixed a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitraryGen (Fixed a) Source #

shrinkFixed a → [Fixed a] Source #

Arbitrary a ⇒ Arbitrary (InfiniteList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Arbitrary a ⇒ Arbitrary (InfiniteListInternalData a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitraryGen (InfiniteListInternalData a) Source #

shrink ∷ InfiniteListInternalData a → [InfiniteListInternalData a] Source #

(Integral a, Bounded a) ⇒ Arbitrary (Large a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitraryGen (Large a) Source #

shrinkLarge a → [Large a] Source #

(Num a, Ord a, Arbitrary a) ⇒ Arbitrary (Negative a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Arbitrary a ⇒ Arbitrary (NonEmptyList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

(Num a, Ord a, Arbitrary a) ⇒ Arbitrary (NonNegative a) 
Instance details

Defined in Test.QuickCheck.Modifiers

(Num a, Ord a, Arbitrary a) ⇒ Arbitrary (NonPositive a) 
Instance details

Defined in Test.QuickCheck.Modifiers

(Num a, Eq a, Arbitrary a) ⇒ Arbitrary (NonZero a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitraryGen (NonZero a) Source #

shrinkNonZero a → [NonZero a] Source #

(Ord a, Arbitrary a) ⇒ Arbitrary (OrderedList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

(Num a, Ord a, Arbitrary a) ⇒ Arbitrary (Positive a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Arbitrary a ⇒ Arbitrary (Shrink2 a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitraryGen (Shrink2 a) Source #

shrinkShrink2 a → [Shrink2 a] Source #

Integral a ⇒ Arbitrary (Small a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitraryGen (Small a) Source #

shrinkSmall a → [Small a] Source #

Arbitrary a ⇒ Arbitrary (Smart a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitraryGen (Smart a) Source #

shrinkSmart a → [Smart a] Source #

(Arbitrary a, Ord a) ⇒ Arbitrary (SortedList a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Arbitrary v ⇒ Arbitrary (KeyMap v)

Since: aeson-2.0.3.0

Instance details

Defined in Data.Aeson.KeyMap

Methods

arbitraryGen (KeyMap v) Source #

shrinkKeyMap v → [KeyMap v] Source #

Arbitrary a ⇒ Arbitrary (ZipList a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (ZipList a) Source #

shrinkZipList a → [ZipList a] Source #

Arbitrary a ⇒ Arbitrary (Complex a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Complex a) Source #

shrinkComplex a → [Complex a] Source #

Arbitrary a ⇒ Arbitrary (Identity a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Arbitrary a ⇒ Arbitrary (First a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (First a) Source #

shrinkFirst a → [First a] Source #

Arbitrary a ⇒ Arbitrary (Last a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Last a) Source #

shrinkLast a → [Last a] Source #

Arbitrary a ⇒ Arbitrary (Dual a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Dual a) Source #

shrinkDual a → [Dual a] Source #

(Arbitrary a, CoArbitrary a) ⇒ Arbitrary (Endo a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Endo a) Source #

shrinkEndo a → [Endo a] Source #

Arbitrary a ⇒ Arbitrary (Product a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Product a) Source #

shrinkProduct a → [Product a] Source #

Arbitrary a ⇒ Arbitrary (Sum a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Sum a) Source #

shrinkSum a → [Sum a] Source #

Integral a ⇒ Arbitrary (Ratio a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Ratio a) Source #

shrinkRatio a → [Ratio a] Source #

(Era era, EncCBOR (f era), Arbitrary (f era)) ⇒ Arbitrary (Sized (f era)) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (Sized (f era)) Source #

shrinkSized (f era) → [Sized (f era)] Source #

Arbitrary (Attributes AddrAttributes) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (Addr c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (Addr c) Source #

shrinkAddr c → [Addr c] Source #

Arbitrary (BootstrapAddress c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (CompactAddr c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (RewardAccount c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (Withdrawals c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (AuxiliaryDataHash c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (Anchor c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (Anchor c) Source #

shrinkAnchor c → [Anchor c] Source #

Crypto c ⇒ Arbitrary (BlocksMade c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Era era ⇒ Arbitrary (CertState era) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (CertState era) Source #

shrinkCertState era → [CertState era] Source #

Crypto c ⇒ Arbitrary (CommitteeAuthorization c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Era era ⇒ Arbitrary (CommitteeState era) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Era era ⇒ Arbitrary (DState era) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (DState era) Source #

shrinkDState era → [DState era] Source #

Crypto c ⇒ Arbitrary (FutureGenDeleg c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (InstantaneousRewards c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Era era ⇒ Arbitrary (PState era) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (PState era) Source #

shrinkPState era → [PState era] Source #

Era era ⇒ Arbitrary (VState era) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (VState era) Source #

shrinkVState era → [VState era] Source #

Arbitrary (CompactForm Coin) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

(Era era, Arbitrary (PParamsHKD Identity era)) ⇒ Arbitrary (PParams era) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (PParams era) Source #

shrinkPParams era → [PParams era] Source #

(Era era, Arbitrary (PParamsHKD StrictMaybe era)) ⇒ Arbitrary (PParamsUpdate era) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (PoolCert c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (StakeReference c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (DRep c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (DRep c) Source #

shrinkDRep c → [DRep c] Source #

Crypto c ⇒ Arbitrary (DRepState c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (SnapShot c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (SnapShots c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (Stake c) Source #

In the system, Stake never contains more than the sum of all Ada (which is constant). This makes it safe to store individual Coins (in CompactForm) as Word64. But we must be careful that we never generate Stake where the sum of all the coins exceeds (maxBound :: Word64) There will never be a real Stake in the system with that many Ada, because total Ada is constant. So using a restricted Arbitrary Generator is OK.

Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (Stake c) Source #

shrinkStake c → [Stake c] Source #

Arbitrary (NoUpdate a) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (ScriptHash c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (BootstrapWitness c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (GenDelegPair c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (GenDelegs c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (IndividualPoolStake c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (PoolDistr c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (PoolParams c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Crypto c ⇒ Arbitrary (Reward c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (Reward c) Source #

shrinkReward c → [Reward c] Source #

Crypto c ⇒ Arbitrary (TxId c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (TxId c) Source #

shrinkTxId c → [TxId c] Source #

Crypto c ⇒ Arbitrary (TxIn c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (TxIn c) Source #

shrinkTxIn c → [TxIn c] Source #

Crypto c ⇒ Arbitrary (UMElem c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (UMElem c) Source #

shrinkUMElem c → [UMElem c] Source #

Crypto c ⇒ Arbitrary (UMap c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (UMap c) Source #

shrinkUMap c → [UMap c] Source #

(EraTxOut era, Arbitrary (TxOut era)) ⇒ Arbitrary (UTxO era) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (UTxO era) Source #

shrinkUTxO era → [UTxO era] Source #

Arbitrary a ⇒ Arbitrary (IntMap a)

WARNING: The same warning as for Arbitrary (Set a) applies here.

Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (IntMap a) Source #

shrinkIntMap a → [IntMap a] Source #

Arbitrary a ⇒ Arbitrary (Seq a)

WARNING: The same warning as for Arbitrary (Set a) applies here.

Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Seq a) Source #

shrinkSeq a → [Seq a] Source #

(Ord a, Arbitrary a) ⇒ Arbitrary (Set a)

WARNING: Users working on the internals of the Set type via e.g. Data.Set.Internal should be aware that this instance aims to give a good representation of Set a as mathematical sets but *does not* aim to provide a varied distribution over the underlying representation.

Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Set a) Source #

shrinkSet a → [Set a] Source #

Arbitrary a ⇒ Arbitrary (Tree a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Tree a) Source #

shrinkTree a → [Tree a] Source #

(GArbitrary UnsizedOpts a, Weights_ (Rep a) ~ L c0) ⇒ Arbitrary (GenericArbitrarySingle a) 
Instance details

Defined in Generic.Random.DerivingVia

(GArbitrary UnsizedOpts a, GUniformWeight a) ⇒ Arbitrary (GenericArbitraryU a) 
Instance details

Defined in Generic.Random.DerivingVia

Arbitrary a ⇒ Arbitrary (Maybe a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Maybe a) Source #

shrinkMaybe a → [Maybe a] Source #

Arbitrary a ⇒ Arbitrary [a] 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen [a] Source #

shrink ∷ [a] → [[a]] Source #

(Function a, CoArbitrary a, Arbitrary b) ⇒ Arbitrary (a :-> b) 
Instance details

Defined in Test.QuickCheck.Function

Methods

arbitraryGen (a :-> b) Source #

shrink ∷ (a :-> b) → [a :-> b] Source #

(Function a, CoArbitrary a, Arbitrary b) ⇒ Arbitrary (Fun a b) 
Instance details

Defined in Test.QuickCheck.Function

Methods

arbitraryGen (Fun a b) Source #

shrinkFun a b → [Fun a b] Source #

(Arbitrary a, ShrinkState s a) ⇒ Arbitrary (Shrinking s a) 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitraryGen (Shrinking s a) Source #

shrinkShrinking s a → [Shrinking s a] Source #

Arbitrary (m a) ⇒ Arbitrary (WrappedMonad m a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

(Arbitrary a, Arbitrary b) ⇒ Arbitrary (Either a b) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Either a b) Source #

shrinkEither a b → [Either a b] Source #

HasResolution a ⇒ Arbitrary (Fixed a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Fixed a) Source #

shrinkFixed a → [Fixed a] Source #

Arbitrary a ⇒ Arbitrary (Mismatch r a) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (Mismatch r a) Source #

shrinkMismatch r a → [Mismatch r a] Source #

Crypto c ⇒ Arbitrary (Credential r c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (Credential r c) Source #

shrinkCredential r c → [Credential r c] Source #

Crypto c ⇒ Arbitrary (KeyHash a c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (KeyHash a c) Source #

shrinkKeyHash a c → [KeyHash a c] Source #

DSIGNAlgorithm (DSIGN c) ⇒ Arbitrary (VKey kd c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (VKey kd c) Source #

shrinkVKey kd c → [VKey kd c] Source #

(Typeable kr, Crypto c) ⇒ Arbitrary (WitVKey kr c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (WitVKey kr c) Source #

shrinkWitVKey kr c → [WitVKey kr c] Source #

Crypto c ⇒ Arbitrary (SafeHash c i) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.Arbitrary

Methods

arbitraryGen (SafeHash c i) Source #

shrinkSafeHash c i → [SafeHash c i] Source #

Crypto c ⇒ Arbitrary (KeyPair kd c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.KeyPair

Methods

arbitraryGen (KeyPair kd c) Source #

shrinkKeyPair kd c → [KeyPair kd c] Source #

(Ord k, Arbitrary k, Arbitrary v) ⇒ Arbitrary (Map k v)

WARNING: The same warning as for Arbitrary (Set a) applies here.

Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Map k v) Source #

shrinkMap k v → [Map k v] Source #

(Ord k, Arbitrary k, Arbitrary v) ⇒ Arbitrary (OMap k v) 
Instance details

Defined in Data.TreeDiff.OMap

Methods

arbitraryGen (OMap k v) Source #

shrinkOMap k v → [OMap k v] Source #

(CoArbitrary a, Arbitrary b) ⇒ Arbitrary (a → b) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (a → b) Source #

shrink ∷ (a → b) → [a → b] Source #

(Arbitrary a, Arbitrary b) ⇒ Arbitrary (a, b) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (a, b) Source #

shrink ∷ (a, b) → [(a, b)] Source #

Arbitrary (a b c) ⇒ Arbitrary (WrappedArrow a b c) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (WrappedArrow a b c) Source #

shrinkWrappedArrow a b c → [WrappedArrow a b c] Source #

Arbitrary a ⇒ Arbitrary (Const a b) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Const a b) Source #

shrinkConst a b → [Const a b] Source #

Arbitrary (f a) ⇒ Arbitrary (Alt f a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Alt f a) Source #

shrinkAlt f a → [Alt f a] Source #

(Arbitrary (f a), Coercible (f a) a, Generic a, RecursivelyShrink (Rep a), GSubterms (Rep a) a) ⇒ Arbitrary (AndShrinking f a) 
Instance details

Defined in Generic.Random.DerivingVia

(GArbitrary UnsizedOpts a, TypeLevelWeights' weights a) ⇒ Arbitrary (GenericArbitrary weights a) 
Instance details

Defined in Generic.Random.DerivingVia

Methods

arbitraryGen (GenericArbitrary weights a) Source #

shrinkGenericArbitrary weights a → [GenericArbitrary weights a] Source #

(GArbitrary SizedOptsDef a, TypeLevelWeights' weights a) ⇒ Arbitrary (GenericArbitraryRec weights a) 
Instance details

Defined in Generic.Random.DerivingVia

Methods

arbitraryGen (GenericArbitraryRec weights a) Source #

shrinkGenericArbitraryRec weights a → [GenericArbitraryRec weights a] Source #

(GArbitrary (SetGens genList UnsizedOpts) a, Weights_ (Rep a) ~ L c0, TypeLevelGenList genList', genList ~ TypeLevelGenList' genList') ⇒ Arbitrary (GenericArbitrarySingleG genList' a) 
Instance details

Defined in Generic.Random.DerivingVia

(GArbitrary (SetGens genList UnsizedOpts) a, GUniformWeight a, TypeLevelGenList genList', genList ~ TypeLevelGenList' genList') ⇒ Arbitrary (GenericArbitraryUG genList' a) 
Instance details

Defined in Generic.Random.DerivingVia

Methods

arbitraryGen (GenericArbitraryUG genList' a) Source #

shrinkGenericArbitraryUG genList' a → [GenericArbitraryUG genList' a] Source #

Arbitrary a ⇒ Arbitrary (Constant a b) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Constant a b) Source #

shrinkConstant a b → [Constant a b] Source #

(Arbitrary a, Arbitrary b, Arbitrary c) ⇒ Arbitrary (a, b, c) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (a, b, c) Source #

shrink ∷ (a, b, c) → [(a, b, c)] Source #

(Arbitrary1 f, Arbitrary1 g, Arbitrary a) ⇒ Arbitrary (Product f g a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Product f g a) Source #

shrinkProduct f g a → [Product f g a] Source #

(Arbitrary a, Arbitrary b, Arbitrary c, Arbitrary d) ⇒ Arbitrary (a, b, c, d) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (a, b, c, d) Source #

shrink ∷ (a, b, c, d) → [(a, b, c, d)] Source #

(Arbitrary1 f, Arbitrary1 g, Arbitrary a) ⇒ Arbitrary (Compose f g a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (Compose f g a) Source #

shrinkCompose f g a → [Compose f g a] Source #

(GArbitrary (SetGens genList UnsizedOpts) a, GUniformWeight a, TypeLevelWeights' weights a, TypeLevelGenList genList', genList ~ TypeLevelGenList' genList') ⇒ Arbitrary (GenericArbitraryG genList' weights a) 
Instance details

Defined in Generic.Random.DerivingVia

Methods

arbitraryGen (GenericArbitraryG genList' weights a) Source #

shrinkGenericArbitraryG genList' weights a → [GenericArbitraryG genList' weights a] Source #

(GArbitrary (SetGens genList SizedOpts) a, TypeLevelWeights' weights a, TypeLevelGenList genList', genList ~ TypeLevelGenList' genList') ⇒ Arbitrary (GenericArbitraryRecG genList' weights a) 
Instance details

Defined in Generic.Random.DerivingVia

Methods

arbitraryGen (GenericArbitraryRecG genList' weights a) Source #

shrinkGenericArbitraryRecG genList' weights a → [GenericArbitraryRecG genList' weights a] Source #

(GArbitrary opts a, TypeLevelWeights' weights a, TypeLevelOpts opts', opts ~ TypeLevelOpts' opts') ⇒ Arbitrary (GenericArbitraryWith opts' weights a) 
Instance details

Defined in Generic.Random.DerivingVia

Methods

arbitraryGen (GenericArbitraryWith opts' weights a) Source #

shrinkGenericArbitraryWith opts' weights a → [GenericArbitraryWith opts' weights a] Source #

(Arbitrary a, Arbitrary b, Arbitrary c, Arbitrary d, Arbitrary e) ⇒ Arbitrary (a, b, c, d, e) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (a, b, c, d, e) Source #

shrink ∷ (a, b, c, d, e) → [(a, b, c, d, e)] Source #

(Arbitrary a, Arbitrary b, Arbitrary c, Arbitrary d, Arbitrary e, Arbitrary f) ⇒ Arbitrary (a, b, c, d, e, f) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (a, b, c, d, e, f) Source #

shrink ∷ (a, b, c, d, e, f) → [(a, b, c, d, e, f)] Source #

(Arbitrary a, Arbitrary b, Arbitrary c, Arbitrary d, Arbitrary e, Arbitrary f, Arbitrary g) ⇒ Arbitrary (a, b, c, d, e, f, g) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (a, b, c, d, e, f, g) Source #

shrink ∷ (a, b, c, d, e, f, g) → [(a, b, c, d, e, f, g)] Source #

(Arbitrary a, Arbitrary b, Arbitrary c, Arbitrary d, Arbitrary e, Arbitrary f, Arbitrary g, Arbitrary h) ⇒ Arbitrary (a, b, c, d, e, f, g, h) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (a, b, c, d, e, f, g, h) Source #

shrink ∷ (a, b, c, d, e, f, g, h) → [(a, b, c, d, e, f, g, h)] Source #

(Arbitrary a, Arbitrary b, Arbitrary c, Arbitrary d, Arbitrary e, Arbitrary f, Arbitrary g, Arbitrary h, Arbitrary i) ⇒ Arbitrary (a, b, c, d, e, f, g, h, i) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (a, b, c, d, e, f, g, h, i) Source #

shrink ∷ (a, b, c, d, e, f, g, h, i) → [(a, b, c, d, e, f, g, h, i)] Source #

(Arbitrary a, Arbitrary b, Arbitrary c, Arbitrary d, Arbitrary e, Arbitrary f, Arbitrary g, Arbitrary h, Arbitrary i, Arbitrary j) ⇒ Arbitrary (a, b, c, d, e, f, g, h, i, j) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

arbitraryGen (a, b, c, d, e, f, g, h, i, j) Source #

shrink ∷ (a, b, c, d, e, f, g, h, i, j) → [(a, b, c, d, e, f, g, h, i, j)] Source #

class Arbitrary1 (f ∷ TypeType) where Source #

Lifting of the Arbitrary class to unary type constructors.

Minimal complete definition

liftArbitrary

Methods

liftArbitraryGen a → Gen (f a) Source #

liftShrink ∷ (a → [a]) → f a → [f a] Source #

Instances

Instances details
Arbitrary1 KeyMap

Since: aeson-2.0.3.0

Instance details

Defined in Data.Aeson.KeyMap

Methods

liftArbitraryGen a → Gen (KeyMap a) Source #

liftShrink ∷ (a → [a]) → KeyMap a → [KeyMap a] Source #

Arbitrary1 ZipList 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitraryGen a → Gen (ZipList a) Source #

liftShrink ∷ (a → [a]) → ZipList a → [ZipList a] Source #

Arbitrary1 Identity 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitraryGen a → Gen (Identity a) Source #

liftShrink ∷ (a → [a]) → Identity a → [Identity a] Source #

Arbitrary1 IntMap

WARNING: The same warning as for Arbitrary (Set a) applies here.

Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitraryGen a → Gen (IntMap a) Source #

liftShrink ∷ (a → [a]) → IntMap a → [IntMap a] Source #

Arbitrary1 Seq 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitraryGen a → Gen (Seq a) Source #

liftShrink ∷ (a → [a]) → Seq a → [Seq a] Source #

Arbitrary1 Tree 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitraryGen a → Gen (Tree a) Source #

liftShrink ∷ (a → [a]) → Tree a → [Tree a] Source #

Arbitrary1 Maybe 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitraryGen a → Gen (Maybe a) Source #

liftShrink ∷ (a → [a]) → Maybe a → [Maybe a] Source #

Arbitrary1 [] 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitraryGen a → Gen [a] Source #

liftShrink ∷ (a → [a]) → [a] → [[a]] Source #

Arbitrary a ⇒ Arbitrary1 (Either a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitraryGen a0 → Gen (Either a a0) Source #

liftShrink ∷ (a0 → [a0]) → Either a a0 → [Either a a0] Source #

(Ord k, Arbitrary k) ⇒ Arbitrary1 (Map k) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitraryGen a → Gen (Map k a) Source #

liftShrink ∷ (a → [a]) → Map k a → [Map k a] Source #

(Ord k, Arbitrary k) ⇒ Arbitrary1 (OMap k) 
Instance details

Defined in Data.TreeDiff.OMap

Methods

liftArbitraryGen a → Gen (OMap k a) Source #

liftShrink ∷ (a → [a]) → OMap k a → [OMap k a] Source #

Arbitrary a ⇒ Arbitrary1 ((,) a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitraryGen a0 → Gen (a, a0) Source #

liftShrink ∷ (a0 → [a0]) → (a, a0) → [(a, a0)] Source #

Arbitrary a ⇒ Arbitrary1 (Const a ∷ TypeType) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitraryGen a0 → Gen (Const a a0) Source #

liftShrink ∷ (a0 → [a0]) → Const a a0 → [Const a a0] Source #

Arbitrary a ⇒ Arbitrary1 (Constant a ∷ TypeType) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitraryGen a0 → Gen (Constant a a0) Source #

liftShrink ∷ (a0 → [a0]) → Constant a a0 → [Constant a a0] Source #

(Arbitrary1 f, Arbitrary1 g) ⇒ Arbitrary1 (Product f g) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitraryGen a → Gen (Product f g a) Source #

liftShrink ∷ (a → [a]) → Product f g a → [Product f g a] Source #

CoArbitrary a ⇒ Arbitrary1 ((->) a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitraryGen a0 → Gen (a -> a0) Source #

liftShrink ∷ (a0 → [a0]) → (a -> a0) → [a -> a0] Source #

(Arbitrary1 f, Arbitrary1 g) ⇒ Arbitrary1 (Compose f g) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitraryGen a → Gen (Compose f g a) Source #

liftShrink ∷ (a → [a]) → Compose f g a → [Compose f g a] Source #

class Arbitrary2 (f ∷ TypeTypeType) where Source #

Lifting of the Arbitrary class to binary type constructors.

Minimal complete definition

liftArbitrary2

Methods

liftArbitrary2Gen a → Gen b → Gen (f a b) Source #

liftShrink2 ∷ (a → [a]) → (b → [b]) → f a b → [f a b] Source #

Instances

Instances details
Arbitrary2 Either 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitrary2Gen a → Gen b → Gen (Either a b) Source #

liftShrink2 ∷ (a → [a]) → (b → [b]) → Either a b → [Either a b] Source #

Arbitrary2 (,) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitrary2Gen a → Gen b → Gen (a, b) Source #

liftShrink2 ∷ (a → [a]) → (b → [b]) → (a, b) → [(a, b)] Source #

Arbitrary2 (ConstTypeTypeType) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitrary2Gen a → Gen b → Gen (Const a b) Source #

liftShrink2 ∷ (a → [a]) → (b → [b]) → Const a b → [Const a b] Source #

Arbitrary2 (ConstantTypeTypeType) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

liftArbitrary2Gen a → Gen b → Gen (Constant a b) Source #

liftShrink2 ∷ (a → [a]) → (b → [b]) → Constant a b → [Constant a b] Source #

class CoArbitrary a where Source #

Used for random generation of functions. You should consider using Fun instead, which can show the generated functions as strings.

If you are using a recent GHC, there is a default definition of coarbitrary using genericCoarbitrary, so if your type has a Generic instance it's enough to say

instance CoArbitrary MyType

You should only use genericCoarbitrary for data types where equality is structural, i.e. if you can't have two different representations of the same value. An example where it's not safe is sets implemented using binary search trees: the same set can be represented as several different trees. Here you would have to explicitly define coarbitrary s = coarbitrary (toList s).

Minimal complete definition

Nothing

Methods

coarbitrary ∷ a → Gen b → Gen b Source #

Used to generate a function of type a -> b. The first argument is a value, the second a generator. You should use variant to perturb the random generator; the goal is that different values for the first argument will lead to different calls to variant. An example will help:

instance CoArbitrary a => CoArbitrary [a] where
  coarbitrary []     = variant 0
  coarbitrary (x:xs) = variant 1 . coarbitrary (x,xs)

Instances

Instances details
CoArbitrary Key

Since: aeson-2.0.3.0

Instance details

Defined in Data.Aeson.Key

Methods

coarbitraryKeyGen b → Gen b Source #

CoArbitrary Value

Since: aeson-2.0.3.0

Instance details

Defined in Data.Aeson.Types.Internal

Methods

coarbitraryValueGen b → Gen b Source #

CoArbitrary All 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryAllGen b → Gen b Source #

CoArbitrary Any 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryAnyGen b → Gen b Source #

CoArbitrary Version 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryVersionGen b → Gen b Source #

CoArbitrary Newline 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryNewlineGen b → Gen b Source #

CoArbitrary NewlineMode 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryNewlineModeGen b → Gen b Source #

CoArbitrary Int16 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryInt16Gen b → Gen b Source #

CoArbitrary Int32 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryInt32Gen b → Gen b Source #

CoArbitrary Int64 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryInt64Gen b → Gen b Source #

CoArbitrary Int8 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryInt8Gen b → Gen b Source #

CoArbitrary Word16 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryWord16Gen b → Gen b Source #

CoArbitrary Word32 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryWord32Gen b → Gen b Source #

CoArbitrary Word64 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryWord64Gen b → Gen b Source #

CoArbitrary Word8 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryWord8Gen b → Gen b Source #

CoArbitrary ByteString64 
Instance details

Defined in Data.ByteString.Base64.Type

Methods

coarbitraryByteString64Gen b → Gen b Source #

CoArbitrary IntSet 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryIntSetGen b → Gen b Source #

CoArbitrary Ordering 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryOrderingGen b → Gen b Source #

CoArbitrary Integer 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryIntegerGen b → Gen b Source #

CoArbitrary () 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitrary ∷ () → Gen b → Gen b Source #

CoArbitrary Bool 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryBoolGen b → Gen b Source #

CoArbitrary Char 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryCharGen b → Gen b Source #

CoArbitrary Double 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryDoubleGen b → Gen b Source #

CoArbitrary Float 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryFloatGen b → Gen b Source #

CoArbitrary Int 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryIntGen b → Gen b Source #

CoArbitrary Word 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryWordGen b → Gen b Source #

CoArbitrary v ⇒ CoArbitrary (KeyMap v)

Since: aeson-2.0.3.0

Instance details

Defined in Data.Aeson.KeyMap

Methods

coarbitraryKeyMap v → Gen b → Gen b Source #

CoArbitrary a ⇒ CoArbitrary (ZipList a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryZipList a → Gen b → Gen b Source #

CoArbitrary a ⇒ CoArbitrary (Complex a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryComplex a → Gen b → Gen b Source #

CoArbitrary a ⇒ CoArbitrary (Identity a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryIdentity a → Gen b → Gen b Source #

CoArbitrary a ⇒ CoArbitrary (First a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryFirst a → Gen b → Gen b Source #

CoArbitrary a ⇒ CoArbitrary (Last a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryLast a → Gen b → Gen b Source #

CoArbitrary a ⇒ CoArbitrary (Dual a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryDual a → Gen b → Gen b Source #

(Arbitrary a, CoArbitrary a) ⇒ CoArbitrary (Endo a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryEndo a → Gen b → Gen b Source #

CoArbitrary a ⇒ CoArbitrary (Product a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryProduct a → Gen b → Gen b Source #

CoArbitrary a ⇒ CoArbitrary (Sum a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitrarySum a → Gen b → Gen b Source #

(Integral a, CoArbitrary a) ⇒ CoArbitrary (Ratio a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryRatio a → Gen b → Gen b Source #

CoArbitrary a ⇒ CoArbitrary (IntMap a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryIntMap a → Gen b → Gen b Source #

CoArbitrary a ⇒ CoArbitrary (Seq a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitrarySeq a → Gen b → Gen b Source #

CoArbitrary a ⇒ CoArbitrary (Set a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitrarySet a → Gen b → Gen b Source #

CoArbitrary a ⇒ CoArbitrary (Tree a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryTree a → Gen b → Gen b Source #

CoArbitrary a ⇒ CoArbitrary (Maybe a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryMaybe a → Gen b → Gen b Source #

CoArbitrary a ⇒ CoArbitrary [a] 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitrary ∷ [a] → Gen b → Gen b Source #

(CoArbitrary a, CoArbitrary b) ⇒ CoArbitrary (Either a b) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryEither a b → Gen b0 → Gen b0 Source #

HasResolution a ⇒ CoArbitrary (Fixed a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryFixed a → Gen b → Gen b Source #

(CoArbitrary k, CoArbitrary v) ⇒ CoArbitrary (Map k v) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryMap k v → Gen b → Gen b Source #

(Arbitrary a, CoArbitrary b) ⇒ CoArbitrary (a → b) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitrary ∷ (a → b) → Gen b0 → Gen b0 Source #

(CoArbitrary a, CoArbitrary b) ⇒ CoArbitrary (a, b) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitrary ∷ (a, b) → Gen b0 → Gen b0 Source #

CoArbitrary a ⇒ CoArbitrary (Const a b) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryConst a b → Gen b0 → Gen b0 Source #

CoArbitrary (f a) ⇒ CoArbitrary (Alt f a) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryAlt f a → Gen b → Gen b Source #

CoArbitrary a ⇒ CoArbitrary (Constant a b) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitraryConstant a b → Gen b0 → Gen b0 Source #

(CoArbitrary a, CoArbitrary b, CoArbitrary c) ⇒ CoArbitrary (a, b, c) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitrary ∷ (a, b, c) → Gen b0 → Gen b0 Source #

(CoArbitrary a, CoArbitrary b, CoArbitrary c, CoArbitrary d) ⇒ CoArbitrary (a, b, c, d) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitrary ∷ (a, b, c, d) → Gen b0 → Gen b0 Source #

(CoArbitrary a, CoArbitrary b, CoArbitrary c, CoArbitrary d, CoArbitrary e) ⇒ CoArbitrary (a, b, c, d, e) 
Instance details

Defined in Test.QuickCheck.Arbitrary

Methods

coarbitrary ∷ (a, b, c, d, e) → Gen b0 → Gen b0 Source #

infiniteListOfGen a → Gen [a] Source #

Generates an infinite list.

vectorOfIntGen a → Gen [a] Source #

Generates a list of the given length.

listOf1Gen a → Gen [a] Source #

Generates a non-empty list of random length. The maximum length depends on the size parameter.

listOfGen a → Gen [a] Source #

Generates a list of random length. The maximum length depends on the size parameter.

growingElementsHasCallStack ⇒ [a] → Gen a Source #

Takes a list of elements of increasing size, and chooses among an initial segment of the list. The size of this initial segment increases with the size parameter. The input list must be non-empty.

shuffle ∷ [a] → Gen [a] Source #

Generates a random permutation of the given list.

sublistOf ∷ [a] → Gen [a] Source #

Generates a random subsequence of the given list.

elementsHasCallStack ⇒ [a] → Gen a Source #

Generates one of the given values. The input list must be non-empty.

frequencyHasCallStack ⇒ [(Int, Gen a)] → Gen a Source #

Chooses one of the given generators, with a weighted random distribution. The input list must be non-empty.

oneofHasCallStack ⇒ [Gen a] → Gen a Source #

Randomly uses one of the given generators. The input list must be non-empty.

suchThatMaybeGen a → (a → Bool) → Gen (Maybe a) Source #

Tries to generate a value that satisfies a predicate. If it fails to do so after enough attempts, returns Nothing.

suchThatMapGen a → (a → Maybe b) → Gen b Source #

Generates a value for which the given function returns a Just, and then applies the function.

suchThatGen a → (a → Bool) → Gen a Source #

Generates a value that satisfies a predicate.

sampleShow a ⇒ Gen a → IO () Source #

Generates some example values and prints them to stdout.

sample'Gen a → IO [a] Source #

Generates some example values.

generateGen a → IO a Source #

Run a generator. The size passed to the generator is always 30; if you want another size then you should explicitly use resize.

chooseInteger ∷ (Integer, Integer) → Gen Integer Source #

A fast implementation of choose for Integer.

chooseBoundedIntegral ∷ (Bounded a, Integral a) ⇒ (a, a) → Gen a Source #

A fast implementation of choose for bounded integral types.

chooseInt ∷ (Int, Int) → Gen Int Source #

A fast implementation of choose for Int.

chooseEnumEnum a ⇒ (a, a) → Gen a Source #

A fast implementation of choose for enumerated types.

chooseAnyRandom a ⇒ Gen a Source #

Generates a random element over the natural range of a.

chooseRandom a ⇒ (a, a) → Gen a Source #

Generates a random element in the given inclusive range. For integral and enumerated types, the specialised variants of choose below run much quicker.

scale ∷ (IntInt) → Gen a → Gen a Source #

Adjust the size parameter, by transforming it with the given function.

resizeHasCallStackIntGen a → Gen a Source #

Overrides the size parameter. Returns a generator which uses the given size instead of the runtime-size parameter.

getSizeGen Int Source #

Returns the size parameter. Used to construct generators that depend on the size parameter.

For example, listOf, which uses the size parameter as an upper bound on length of lists it generates, can be defined like this:

listOf :: Gen a -> Gen [a]
listOf gen = do
  n <- getSize
  k <- choose (0,n)
  vectorOf k gen

You can also do this using sized.

sized ∷ (IntGen a) → Gen a Source #

Used to construct generators that depend on the size parameter.

For example, listOf, which uses the size parameter as an upper bound on length of lists it generates, can be defined like this:

listOf :: Gen a -> Gen [a]
listOf gen = sized $ \n ->
  do k <- choose (0,n)
     vectorOf k gen

You can also do this using getSize.

variantIntegral n ⇒ n → Gen a → Gen a Source #

Modifies a generator using an integer seed.

data Gen a Source #

A generator for values of type a.

The third-party packages QuickCheck-GenT and quickcheck-transformer provide monad transformer versions of Gen.

Instances

Instances details
MonadFix Gen 
Instance details

Defined in Test.QuickCheck.Gen

Methods

mfix ∷ (a → Gen a) → Gen a Source #

Applicative Gen 
Instance details

Defined in Test.QuickCheck.Gen

Methods

pure ∷ a → Gen a Source #

(<*>)Gen (a → b) → Gen a → Gen b Source #

liftA2 ∷ (a → b → c) → Gen a → Gen b → Gen c Source #

(*>)Gen a → Gen b → Gen b Source #

(<*)Gen a → Gen b → Gen a Source #

Functor Gen 
Instance details

Defined in Test.QuickCheck.Gen

Methods

fmap ∷ (a → b) → Gen a → Gen b Source #

(<$) ∷ a → Gen b → Gen a Source #

Monad Gen 
Instance details

Defined in Test.QuickCheck.Gen

Methods

(>>=)Gen a → (a → Gen b) → Gen b Source #

(>>)Gen a → Gen b → Gen b Source #

return ∷ a → Gen a Source #

MonadGen Gen 
Instance details

Defined in Test.QuickCheck.GenT

Methods

liftGenGen a → Gen a Source #

variantIntegral n ⇒ n → Gen a → Gen a Source #

sized ∷ (IntGen a) → Gen a Source #

resizeIntGen a → Gen a Source #

chooseRandom a ⇒ (a, a) → Gen a Source #

StatefulGen QC Gen 
Instance details

Defined in Test.Cardano.Ledger.Binary.Random

Testable prop ⇒ Testable (Gen prop) 
Instance details

Defined in Test.QuickCheck.Property

Methods

propertyGen prop → Property Source #

propertyForAllShrinkShowGen a → (a → [a]) → (a → [String]) → (a → Gen prop) → Property Source #

FindGen ('Match 'INCOHERENT) s (Gen a) gs a

Matching custom generator for a.

Instance details

Defined in Generic.Random.Internal.Generic

Methods

findGen ∷ (Proxy ('Match 'INCOHERENT), Proxy s, FullGenListOf s) → Gen a → gs → Gen a Source #

a ~ a' ⇒ FindGen ('MatchCoh 'True) s (Gen a) gs a' 
Instance details

Defined in Generic.Random.Internal.Generic

Methods

findGen ∷ (Proxy ('MatchCoh 'True), Proxy s, FullGenListOf s) → Gen a → gs → Gen a' Source #

Arbitrary a ⇒ TypeLevelGenList (Gen a ∷ TYPE LiftedRep) 
Instance details

Defined in Generic.Random.DerivingVia

Associated Types

type TypeLevelGenList' (Gen a) Source #

type TypeLevelGenList' (Gen a ∷ TYPE LiftedRep) 
Instance details

Defined in Generic.Random.DerivingVia

discard ∷ a Source #

A special error value. If a property evaluates discard, it causes QuickCheck to discard the current test case. This can be useful if you want to discard the current test case, but are somewhere you can't use ==>, such as inside a generator.

(>=>)Monad m ⇒ (a → m b) → (b → m c) → a → m c infixr 1 Source #

Left-to-right composition of Kleisli arrows.

'(bs >=> cs) a' can be understood as the do expression

do b <- bs a
   cs b

forM_ ∷ (Foldable t, Monad m) ⇒ t a → (a → m b) → m () Source #

forM_ is mapM_ with its arguments flipped. For a version that doesn't ignore the results see forM.

forM_ is just like for_, but specialised to monadic actions.

replicateM_Applicative m ⇒ Int → m a → m () Source #

Like replicateM, but discards the result.

Examples

Expand
>>> replicateM_ 3 (putStrLn "a")
a
a
a

replicateMApplicative m ⇒ Int → m a → m [a] Source #

replicateM n act performs the action act n times, and then returns the list of results:

Examples

Expand
>>> import Control.Monad.State
>>> runState (replicateM 3 $ state $ \s -> (s, s + 1)) 1
([1,2,3],4)

type HasCallStack = ?callStack ∷ CallStack Source #

Request a CallStack.

NOTE: The implicit parameter ?callStack :: CallStack is an implementation detail and should not be considered part of the CallStack API, we may decide to change the implementation in the future.

Since: base-4.9.0.0

type SpecWith a = SpecM a () Source #

type Selector a = a → Bool Source #

A Selector is a predicate; it can simultaneously constrain the type and value of an exception.

shouldBe ∷ (HasCallStack, Show a, Eq a) ⇒ a → a → Expectation infix 1 Source #

actual `shouldBe` expected sets the expectation that actual is equal to expected.

shouldSatisfy ∷ (HasCallStack, Show a) ⇒ a → (a → Bool) → Expectation infix 1 Source #

v `shouldSatisfy` p sets the expectation that p v is True.

shouldStartWith ∷ (HasCallStack, Show a, Eq a) ⇒ [a] → [a] → Expectation infix 1 Source #

list `shouldStartWith` prefix sets the expectation that list starts with prefix,

shouldEndWith ∷ (HasCallStack, Show a, Eq a) ⇒ [a] → [a] → Expectation infix 1 Source #

list `shouldEndWith` suffix sets the expectation that list ends with suffix,

shouldContain ∷ (HasCallStack, Show a, Eq a) ⇒ [a] → [a] → Expectation infix 1 Source #

list `shouldContain` sublist sets the expectation that sublist is contained, wholly and intact, anywhere in list.

shouldMatchList ∷ (HasCallStack, Show a, Eq a) ⇒ [a] → [a] → Expectation infix 1 Source #

xs `shouldMatchList` ys sets the expectation that xs has the same elements that ys has, possibly in another order

shouldReturn ∷ (HasCallStack, Show a, Eq a) ⇒ IO a → a → Expectation infix 1 Source #

action `shouldReturn` expected sets the expectation that action returns expected.

shouldNotBe ∷ (HasCallStack, Show a, Eq a) ⇒ a → a → Expectation infix 1 Source #

actual `shouldNotBe` notExpected sets the expectation that actual is not equal to notExpected

shouldNotSatisfy ∷ (HasCallStack, Show a) ⇒ a → (a → Bool) → Expectation infix 1 Source #

v `shouldNotSatisfy` p sets the expectation that p v is False.

shouldNotContain ∷ (HasCallStack, Show a, Eq a) ⇒ [a] → [a] → Expectation infix 1 Source #

list `shouldNotContain` sublist sets the expectation that sublist is not contained anywhere in list.

shouldNotReturn ∷ (HasCallStack, Show a, Eq a) ⇒ IO a → a → Expectation infix 1 Source #

action `shouldNotReturn` notExpected sets the expectation that action does not return notExpected.

shouldThrow ∷ (HasCallStack, Exception e) ⇒ IO a → Selector e → Expectation infix 1 Source #

action `shouldThrow` selector sets the expectation that action throws an exception. The precise nature of the expected exception is described with a Selector.

fprop ∷ (HasCallStack, Testable prop) ⇒ String → prop → Spec Source #

fprop ".." $
  ..

is a shortcut for

fit ".." $ property $
  ..

xprop ∷ (HasCallStack, Testable prop) ⇒ String → prop → Spec Source #

xprop ".." $
  ..

is a shortcut for

xit ".." $ property $
  ..

prop ∷ (HasCallStack, Testable prop) ⇒ String → prop → Spec Source #

prop ".." $
  ..

is a shortcut for

it ".." $ property $
  ..

exampleExpectationExpectation Source #

example is a type restricted version of id. It can be used to get better error messages on type mismatches.

Compare e.g.

it "exposes some behavior" $ example $ do
  putStrLn

with

it "exposes some behavior" $ do
  putStrLn

type ActionWith a = a → IO () Source #

An IO action that expects an argument of type a

class Example e Source #

A type class for examples

Minimal complete definition

evaluateExample

Associated Types

type Arg e Source #

type Arg e = ()

Instances

Instances details
Example Result 
Instance details

Defined in Test.Hspec.Core.Example

Associated Types

type Arg Result Source #

Example Expectation 
Instance details

Defined in Test.Hspec.Core.Example

Associated Types

type Arg Expectation Source #

Example Bool 
Instance details

Defined in Test.Hspec.Core.Example

Associated Types

type Arg Bool Source #

Example (a → Result) 
Instance details

Defined in Test.Hspec.Core.Example

Associated Types

type Arg (a → Result) Source #

Methods

evaluateExample ∷ (a → Result) → Params → (ActionWith (Arg (a → Result)) → IO ()) → ProgressCallbackIO Result Source #

Example (a → Expectation) 
Instance details

Defined in Test.Hspec.Core.Example

Associated Types

type Arg (a → Expectation) Source #

Methods

evaluateExample ∷ (a → Expectation) → Params → (ActionWith (Arg (a → Expectation)) → IO ()) → ProgressCallbackIO Result Source #

Example (a → Bool) 
Instance details

Defined in Test.Hspec.Core.Example

Associated Types

type Arg (a → Bool) Source #

Methods

evaluateExample ∷ (a → Bool) → Params → (ActionWith (Arg (a → Bool)) → IO ()) → ProgressCallbackIO Result Source #

type family Arg e Source #

Instances

Instances details
type Arg Property 
Instance details

Defined in Test.Hspec.Core.QuickCheck

type Arg Property = ()
type Arg Result 
Instance details

Defined in Test.Hspec.Core.Example

type Arg Result = ()
type Arg Expectation 
Instance details

Defined in Test.Hspec.Core.Example

type Arg Expectation = ()
type Arg Bool 
Instance details

Defined in Test.Hspec.Core.Example

type Arg Bool = ()
type Arg (a → Property) 
Instance details

Defined in Test.Hspec.Core.QuickCheck

type Arg (a → Property) = a
type Arg (a → Result) 
Instance details

Defined in Test.Hspec.Core.Example

type Arg (a → Result) = a
type Arg (a → Expectation) 
Instance details

Defined in Test.Hspec.Core.Example

type Arg (a → Expectation) = a
type Arg (a → Bool) 
Instance details

Defined in Test.Hspec.Core.Example

type Arg (a → Bool) = a

type Spec = SpecWith () Source #

runIOIO r → SpecM a r Source #

Run an IO action while constructing the spec tree.

SpecM is a monad to construct a spec tree, without executing any spec items. runIO allows you to run IO actions during this construction phase. The IO action is always run when the spec tree is constructed (e.g. even when --dry-run is specified). If you do not need the result of the IO action to construct the spec tree, beforeAll may be more suitable for your use case.

modifyMaxSuccess ∷ (IntInt) → SpecWith a → SpecWith a Source #

Use a modified maxSuccess for given spec.

modifyMaxDiscardRatio ∷ (IntInt) → SpecWith a → SpecWith a Source #

Use a modified maxDiscardRatio for given spec.

modifyMaxSize ∷ (IntInt) → SpecWith a → SpecWith a Source #

Use a modified maxSize for given spec.

modifyMaxShrinks ∷ (IntInt) → SpecWith a → SpecWith a Source #

Use a modified maxShrinks for given spec.

modifyArgs ∷ (ArgsArgs) → SpecWith a → SpecWith a Source #

Use modified Args for given spec.

beforeIO a → SpecWith a → Spec Source #

Run a custom action before every spec item.

before_IO () → SpecWith a → SpecWith a Source #

Run a custom action before every spec item.

beforeWith ∷ (b → IO a) → SpecWith a → SpecWith b Source #

Run a custom action before every spec item.

beforeAllHasCallStackIO a → SpecWith a → Spec Source #

Run a custom action before the first spec item.

beforeAll_HasCallStackIO () → SpecWith a → SpecWith a Source #

Run a custom action before the first spec item.

beforeAllWithHasCallStack ⇒ (b → IO a) → SpecWith a → SpecWith b Source #

Run a custom action with an argument before the first spec item.

afterActionWith a → SpecWith a → SpecWith a Source #

Run a custom action after every spec item.

after_IO () → SpecWith a → SpecWith a Source #

Run a custom action after every spec item.

around ∷ (ActionWith a → IO ()) → SpecWith a → Spec Source #

Run a custom action before and/or after every spec item.

afterAllHasCallStackActionWith a → SpecWith a → SpecWith a Source #

Run a custom action after the last spec item.

afterAll_HasCallStackIO () → SpecWith a → SpecWith a Source #

Run a custom action after the last spec item.

around_ ∷ (IO () → IO ()) → SpecWith a → SpecWith a Source #

Run a custom action before and/or after every spec item.

aroundWith ∷ (ActionWith a → ActionWith b) → SpecWith a → SpecWith b Source #

Run a custom action before and/or after every spec item.

aroundAllHasCallStack ⇒ (ActionWith a → IO ()) → SpecWith a → Spec Source #

Wrap an action around the given spec.

aroundAll_HasCallStack ⇒ (IO () → IO ()) → SpecWith a → SpecWith a Source #

Wrap an action around the given spec.

aroundAllWithHasCallStack ⇒ (ActionWith a → ActionWith b) → SpecWith a → SpecWith b Source #

Wrap an action around the given spec. Changes the arg type inside.

mapSubject ∷ (b → a) → SpecWith a → SpecWith b Source #

Modify the subject under test.

Note that this resembles a contravariant functor on the first type parameter of SpecM. This is because the subject is passed inwards, as an argument to the spec item.

ignoreSubjectSpecWith () → SpecWith a Source #

Ignore the subject under test for a given spec.

describeHasCallStackStringSpecWith a → SpecWith a Source #

The describe function combines a list of specs into a larger spec.

contextHasCallStackStringSpecWith a → SpecWith a Source #

context is an alias for describe.

xdescribeHasCallStackStringSpecWith a → SpecWith a Source #

Changing describe to xdescribe marks all spec items of the corresponding subtree as pending.

This can be used to temporarily disable spec items.

xcontextHasCallStackStringSpecWith a → SpecWith a Source #

xcontext is an alias for xdescribe.

it ∷ (HasCallStack, Example a) ⇒ String → a → SpecWith (Arg a) Source #

The it function creates a spec item.

A spec item consists of:

  • a textual description of a desired behavior
  • an example for that behavior
describe "absolute" $ do
  it "returns a positive number when given a negative number" $
    absolute (-1) == 1

specify ∷ (HasCallStack, Example a) ⇒ String → a → SpecWith (Arg a) Source #

specify is an alias for it.

xit ∷ (HasCallStack, Example a) ⇒ String → a → SpecWith (Arg a) Source #

Changing it to xit marks the corresponding spec item as pending.

This can be used to temporarily disable a spec item.

xspecify ∷ (HasCallStack, Example a) ⇒ String → a → SpecWith (Arg a) Source #

xspecify is an alias for xit.

focusSpecWith a → SpecWith a Source #

focus focuses all spec items of the given spec.

Applying focus to a spec with focused spec items has no effect.

fit ∷ (HasCallStack, Example a) ⇒ String → a → SpecWith (Arg a) Source #

fit is an alias for fmap focus . it

fspecify ∷ (HasCallStack, Example a) ⇒ String → a → SpecWith (Arg a) Source #

fspecify is an alias for fit.

fdescribeHasCallStackStringSpecWith a → SpecWith a Source #

fdescribe is an alias for fmap focus . describe

fcontextHasCallStackStringSpecWith a → SpecWith a Source #

fcontext is an alias for fdescribe.

parallelSpecWith a → SpecWith a Source #

parallel marks all spec items of the given spec to be safe for parallel evaluation.

sequentialSpecWith a → SpecWith a Source #

sequential marks all spec items of the given spec to be evaluated sequentially.

pendingHasCallStackExpectation Source #

pending can be used to mark a spec item as pending.

If you want to textually specify a behavior but do not have an example yet, use this:

describe "fancyFormatter" $ do
  it "can format text in a way that everyone likes" $
    pending

pendingWithHasCallStackStringExpectation Source #

pendingWith is similar to pending, but it takes an additional string argument that can be used to specify the reason for why the spec item is pending.

hspecSpecIO () Source #

Run a given spec and write a report to stdout. Exit with exitFailure if at least one spec item fails.

Note: hspec handles command-line options and reads config files. This is not always desirable. Use evalSpec and runSpecForest if you need more control over these aspects.

class NFData a Source #

A class of types that can be fully evaluated.

Since: deepseq-1.1.0.0

Instances

Instances details
NFData Key 
Instance details

Defined in Data.Aeson.Key

Methods

rnfKey → () Source #

NFData JSONPathElement 
Instance details

Defined in Data.Aeson.Types.Internal

Methods

rnfJSONPathElement → () Source #

NFData Value 
Instance details

Defined in Data.Aeson.Types.Internal

Methods

rnfValue → () Source #

NFData AdjacencyIntMap 
Instance details

Defined in Algebra.Graph.AdjacencyIntMap

Methods

rnfAdjacencyIntMap → () Source #

NFData All

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfAll → () Source #

NFData Any

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfAny → () Source #

NFData TypeRep

NOTE: Prior to deepseq-1.4.4.0 this instance was only defined for base-4.8.0.0 and later.

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfTypeRep → () Source #

NFData Unique

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfUnique → () Source #

NFData Version

Since: deepseq-1.3.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfVersion → () Source #

NFData Void

Defined as rnf = absurd.

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfVoid → () Source #

NFData CBool

Since: deepseq-1.4.3.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCBool → () Source #

NFData CChar

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCChar → () Source #

NFData CClock

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCClock → () Source #

NFData CDouble

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCDouble → () Source #

NFData CFile

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCFile → () Source #

NFData CFloat

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCFloat → () Source #

NFData CFpos

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCFpos → () Source #

NFData CInt

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCInt → () Source #

NFData CIntMax

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCIntMax → () Source #

NFData CIntPtr

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCIntPtr → () Source #

NFData CJmpBuf

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCJmpBuf → () Source #

NFData CLLong

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCLLong → () Source #

NFData CLong

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCLong → () Source #

NFData CPtrdiff

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCPtrdiff → () Source #

NFData CSChar

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCSChar → () Source #

NFData CSUSeconds

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCSUSeconds → () Source #

NFData CShort

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCShort → () Source #

NFData CSigAtomic

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCSigAtomic → () Source #

NFData CSize

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCSize → () Source #

NFData CTime

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCTime → () Source #

NFData CUChar

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCUChar → () Source #

NFData CUInt

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCUInt → () Source #

NFData CUIntMax

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCUIntMax → () Source #

NFData CUIntPtr

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCUIntPtr → () Source #

NFData CULLong

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCULLong → () Source #

NFData CULong

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCULong → () Source #

NFData CUSeconds

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCUSeconds → () Source #

NFData CUShort

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCUShort → () Source #

NFData CWchar

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCWchar → () Source #

NFData ThreadId

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfThreadId → () Source #

NFData Fingerprint

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfFingerprint → () Source #

NFData MaskingState

Since: deepseq-1.4.4.0

Instance details

Defined in Control.DeepSeq

Methods

rnfMaskingState → () Source #

NFData ExitCode

Since: deepseq-1.4.2.0

Instance details

Defined in Control.DeepSeq

Methods

rnfExitCode → () Source #

NFData Int16 
Instance details

Defined in Control.DeepSeq

Methods

rnfInt16 → () Source #

NFData Int32 
Instance details

Defined in Control.DeepSeq

Methods

rnfInt32 → () Source #

NFData Int64 
Instance details

Defined in Control.DeepSeq

Methods

rnfInt64 → () Source #

NFData Int8 
Instance details

Defined in Control.DeepSeq

Methods

rnfInt8 → () Source #

NFData CallStack

Since: deepseq-1.4.2.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCallStack → () Source #

NFData SrcLoc

Since: deepseq-1.4.2.0

Instance details

Defined in Control.DeepSeq

Methods

rnfSrcLoc → () Source #

NFData Word16 
Instance details

Defined in Control.DeepSeq

Methods

rnfWord16 → () Source #

NFData Word32 
Instance details

Defined in Control.DeepSeq

Methods

rnfWord32 → () Source #

NFData Word64 
Instance details

Defined in Control.DeepSeq

Methods

rnfWord64 → () Source #

NFData Word8 
Instance details

Defined in Control.DeepSeq

Methods

rnfWord8 → () Source #

NFData ByteString64 
Instance details

Defined in Data.ByteString.Base64.Type

Methods

rnfByteString64 → () Source #

NFData ByteString 
Instance details

Defined in Data.ByteString.Internal.Type

Methods

rnfByteString → () Source #

NFData ByteString 
Instance details

Defined in Data.ByteString.Lazy.Internal

Methods

rnfByteString → () Source #

NFData ShortByteString 
Instance details

Defined in Data.ByteString.Short.Internal

Methods

rnfShortByteString → () Source #

NFData XPrv 
Instance details

Defined in Cardano.Crypto.Wallet

Methods

rnfXPrv → () Source #

NFData XPub 
Instance details

Defined in Cardano.Crypto.Wallet

Methods

rnfXPub → () Source #

NFData XSignature 
Instance details

Defined in Cardano.Crypto.Wallet

Methods

rnfXSignature → () Source #

NFData XPub 
Instance details

Defined in Cardano.Crypto.Wallet.Pure

Methods

rnfXPub → () Source #

NFData ChainCode 
Instance details

Defined in Cardano.Crypto.Wallet.Types

Methods

rnfChainCode → () Source #

NFData PointCompressed 
Instance details

Defined in Crypto.Math.Edwards25519

Methods

rnfPointCompressed → () Source #

NFData Signature 
Instance details

Defined in Crypto.Math.Edwards25519

Methods

rnfSignature → () Source #

NFData Seed 
Instance details

Defined in Cardano.Crypto.Seed

Methods

rnfSeed → () Source #

NFData Point 
Instance details

Defined in Cardano.Crypto.VRF.Simple

Methods

rnf ∷ Point → () Source #

NFData Proof 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

rnfProof → () Source #

NFData SignKey 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

rnfSignKey → () Source #

NFData VerKey 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

rnfVerKey → () Source #

NFData Proof 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

Methods

rnf ∷ Proof → () Source #

NFData SignKey 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

Methods

rnf ∷ SignKey → () Source #

NFData VerKey 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

Methods

rnf ∷ VerKey → () Source #

NFData ProtocolMagicId 
Instance details

Defined in Cardano.Crypto.ProtocolMagic

Methods

rnfProtocolMagicId → () Source #

NFData RequiresNetworkMagic 
Instance details

Defined in Cardano.Crypto.ProtocolMagic

Methods

rnfRequiresNetworkMagic → () Source #

NFData Raw 
Instance details

Defined in Cardano.Crypto.Raw

Methods

rnfRaw → () Source #

NFData CompactRedeemVerificationKey 
Instance details

Defined in Cardano.Crypto.Signing.Redeem.Compact

NFData RedeemSigningKey 
Instance details

Defined in Cardano.Crypto.Signing.Redeem.SigningKey

Methods

rnfRedeemSigningKey → () Source #

NFData RedeemVerificationKey 
Instance details

Defined in Cardano.Crypto.Signing.Redeem.VerificationKey

Methods

rnfRedeemVerificationKey → () Source #

NFData SigningKey 
Instance details

Defined in Cardano.Crypto.Signing.SigningKey

Methods

rnfSigningKey → () Source #

NFData VerificationKey 
Instance details

Defined in Cardano.Crypto.Signing.VerificationKey

Methods

rnfVerificationKey → () Source #

NFData Version 
Instance details

Defined in Cardano.Ledger.Binary.Version

Methods

rnfVersion → () Source #

NFData AddrAttributes 
Instance details

Defined in Cardano.Chain.Common.AddrAttributes

Methods

rnfAddrAttributes → () Source #

NFData HDAddressPayload 
Instance details

Defined in Cardano.Chain.Common.AddrAttributes

Methods

rnfHDAddressPayload → () Source #

NFData AddrSpendingData 
Instance details

Defined in Cardano.Chain.Common.AddrSpendingData

Methods

rnfAddrSpendingData → () Source #

NFData AddrType 
Instance details

Defined in Cardano.Chain.Common.AddrSpendingData

Methods

rnfAddrType → () Source #

NFData Address 
Instance details

Defined in Cardano.Chain.Common.Address

Methods

rnfAddress → () Source #

NFData UnparsedFields 
Instance details

Defined in Cardano.Chain.Common.Attributes

Methods

rnfUnparsedFields → () Source #

NFData BlockCount 
Instance details

Defined in Cardano.Chain.Common.BlockCount

Methods

rnfBlockCount → () Source #

NFData ChainDifficulty 
Instance details

Defined in Cardano.Chain.Common.ChainDifficulty

Methods

rnfChainDifficulty → () Source #

NFData CompactAddress 
Instance details

Defined in Cardano.Chain.Common.Compact

Methods

rnfCompactAddress → () Source #

NFData Lovelace 
Instance details

Defined in Cardano.Chain.Common.Lovelace

Methods

rnfLovelace → () Source #

NFData LovelacePortion 
Instance details

Defined in Cardano.Chain.Common.LovelacePortion

Methods

rnfLovelacePortion → () Source #

NFData NetworkMagic 
Instance details

Defined in Cardano.Chain.Common.NetworkMagic

Methods

rnfNetworkMagic → () Source #

NFData TxFeePolicy 
Instance details

Defined in Cardano.Chain.Common.TxFeePolicy

Methods

rnfTxFeePolicy → () Source #

NFData TxSizeLinear 
Instance details

Defined in Cardano.Chain.Common.TxSizeLinear

Methods

rnfTxSizeLinear → () Source #

NFData ActiveSlotCoeff 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnfActiveSlotCoeff → () Source #

NFData CertIx 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnfCertIx → () Source #

NFData DnsName 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnfDnsName → () Source #

NFData Globals 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnfGlobals → () Source #

NFData Network 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnfNetwork → () Source #

NFData NonNegativeInterval 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnfNonNegativeInterval → () Source #

NFData Nonce 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnfNonce → () Source #

NFData Port 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnfPort → () Source #

NFData PositiveInterval 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnfPositiveInterval → () Source #

NFData PositiveUnitInterval 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnfPositiveUnitInterval → () Source #

NFData ProtVer 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnfProtVer → () Source #

NFData Relation 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnfRelation → () Source #

NFData TxIx 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnfTxIx → () Source #

NFData UnitInterval 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnfUnitInterval → () Source #

NFData Url 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnfUrl → () Source #

NFData Obligations 
Instance details

Defined in Cardano.Ledger.CertState

Methods

rnfObligations → () Source #

NFData Coin 
Instance details

Defined in Cardano.Ledger.Coin

Methods

rnfCoin → () Source #

NFData DeltaCoin 
Instance details

Defined in Cardano.Ledger.Coin

Methods

rnfDeltaCoin → () Source #

NFData Ptr 
Instance details

Defined in Cardano.Ledger.Credential

Methods

rnfPtr → () Source #

NFData ChainCode 
Instance details

Defined in Cardano.Ledger.Keys.Bootstrap

Methods

rnfChainCode → () Source #

NFData Metadatum 
Instance details

Defined in Cardano.Ledger.Metadata

Methods

rnfMetadatum → () Source #

NFData CostModel 
Instance details

Defined in Cardano.Ledger.Plutus.CostModels

Methods

rnfCostModel → () Source #

NFData CostModels 
Instance details

Defined in Cardano.Ledger.Plutus.CostModels

Methods

rnfCostModels → () Source #

NFData ExUnits 
Instance details

Defined in Cardano.Ledger.Plutus.ExUnits

Methods

rnfExUnits → () Source #

NFData Prices 
Instance details

Defined in Cardano.Ledger.Plutus.ExUnits

Methods

rnfPrices → () Source #

NFData Language 
Instance details

Defined in Cardano.Ledger.Plutus.Language

Methods

rnfLanguage → () Source #

NFData PlutusBinary 
Instance details

Defined in Cardano.Ledger.Plutus.Language

Methods

rnfPlutusBinary → () Source #

NFData PoolMetadata 
Instance details

Defined in Cardano.Ledger.PoolParams

Methods

rnfPoolMetadata → () Source #

NFData StakePoolRelay 
Instance details

Defined in Cardano.Ledger.PoolParams

Methods

rnfStakePoolRelay → () Source #

NFData RewardType 
Instance details

Defined in Cardano.Ledger.Rewards

Methods

rnfRewardType → () Source #

NFData RDPair 
Instance details

Defined in Cardano.Ledger.UMap

Methods

rnfRDPair → () Source #

NFData PlutusArgs Source # 
Instance details

Defined in Test.Cardano.Ledger.Plutus.ScriptTestContext

Methods

rnfPlutusArgs → () Source #

NFData ScriptTestContext Source # 
Instance details

Defined in Test.Cardano.Ledger.Plutus.ScriptTestContext

Methods

rnfScriptTestContext → () Source #

NFData BlockNo 
Instance details

Defined in Cardano.Slotting.Block

Methods

rnfBlockNo → () Source #

NFData EpochInterval 
Instance details

Defined in Cardano.Slotting.Slot

Methods

rnfEpochInterval → () Source #

NFData EpochNo 
Instance details

Defined in Cardano.Slotting.Slot

Methods

rnfEpochNo → () Source #

NFData EpochSize 
Instance details

Defined in Cardano.Slotting.Slot

Methods

rnfEpochSize → () Source #

NFData SlotNo 
Instance details

Defined in Cardano.Slotting.Slot

Methods

rnfSlotNo → () Source #

NFData DeserialiseFailure 
Instance details

Defined in Codec.CBOR.Read

Methods

rnfDeserialiseFailure → () Source #

NFData IntSet 
Instance details

Defined in Data.IntSet.Internal

Methods

rnfIntSet → () Source #

NFData CurveBinary 
Instance details

Defined in Crypto.PubKey.ECC.Types

Methods

rnfCurveBinary → () Source #

NFData Point 
Instance details

Defined in Crypto.PubKey.ECC.Types

Methods

rnfPoint → () Source #

NFData PublicKey 
Instance details

Defined in Crypto.PubKey.Ed25519

Methods

rnfPublicKey → () Source #

NFData SecretKey 
Instance details

Defined in Crypto.PubKey.Ed25519

Methods

rnfSecretKey → () Source #

NFData Signature 
Instance details

Defined in Crypto.PubKey.Ed25519

Methods

rnfSignature → () Source #

NFData PublicKey 
Instance details

Defined in Crypto.PubKey.Ed448

Methods

rnfPublicKey → () Source #

NFData SecretKey 
Instance details

Defined in Crypto.PubKey.Ed448

Methods

rnfSecretKey → () Source #

NFData Signature 
Instance details

Defined in Crypto.PubKey.Ed448

Methods

rnfSignature → () Source #

NFData ByteArray 
Instance details

Defined in Data.Array.Byte

Methods

rnfByteArray → () Source #

NFData Filler 
Instance details

Defined in Flat.Filler

Methods

rnfFiller → () Source #

NFData Ordering 
Instance details

Defined in Control.DeepSeq

Methods

rnfOrdering → () Source #

NFData TyCon

NOTE: Prior to deepseq-1.4.4.0 this instance was only defined for base-4.8.0.0 and later.

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfTyCon → () Source #

NFData Half 
Instance details

Defined in Numeric.Half.Internal

Methods

rnfHalf → () Source #

NFData FailureReason 
Instance details

Defined in Test.Hspec.Core.Example

Methods

rnfFailureReason → () Source #

NFData InvalidPosException 
Instance details

Defined in Text.Megaparsec.Pos

Methods

rnfInvalidPosException → () Source #

NFData Pos 
Instance details

Defined in Text.Megaparsec.Pos

Methods

rnfPos → () Source #

NFData SourcePos 
Instance details

Defined in Text.Megaparsec.Pos

Methods

rnfSourcePos → () Source #

NFData Bytes 
Instance details

Defined in Data.ByteArray.Bytes

Methods

rnfBytes → () Source #

NFData SockAddr 
Instance details

Defined in Network.Socket.Types

Methods

rnfSockAddr → () Source #

NFData URI 
Instance details

Defined in Network.URI

Methods

rnfURI → () Source #

NFData URIAuth 
Instance details

Defined in Network.URI

Methods

rnfURIAuth → () Source #

NFData OsChar 
Instance details

Defined in System.OsString.Internal.Types

Methods

rnfOsChar → () Source #

NFData OsString 
Instance details

Defined in System.OsString.Internal.Types

Methods

rnfOsString → () Source #

NFData PosixChar 
Instance details

Defined in System.OsString.Internal.Types

Methods

rnfPosixChar → () Source #

NFData PosixString 
Instance details

Defined in System.OsString.Internal.Types

Methods

rnfPosixString → () Source #

NFData WindowsChar 
Instance details

Defined in System.OsString.Internal.Types

Methods

rnfWindowsChar → () Source #

NFData WindowsString 
Instance details

Defined in System.OsString.Internal.Types

Methods

rnfWindowsString → () Source #

NFData SrcSpan 
Instance details

Defined in PlutusCore.Annotation

Methods

rnfSrcSpan → () Source #

NFData SrcSpans 
Instance details

Defined in PlutusCore.Annotation

Methods

rnfSrcSpans → () Source #

NFData UnliftingError 
Instance details

Defined in PlutusCore.Builtin.Result

Methods

rnfUnliftingError → () Source #

NFData UnliftingEvaluationError 
Instance details

Defined in PlutusCore.Builtin.Result

NFData Data 
Instance details

Defined in PlutusCore.Data

Methods

rnfData → () Source #

NFData DeBruijn 
Instance details

Defined in PlutusCore.DeBruijn.Internal

Methods

rnfDeBruijn → () Source #

NFData FakeNamedDeBruijn 
Instance details

Defined in PlutusCore.DeBruijn.Internal

Methods

rnfFakeNamedDeBruijn → () Source #

NFData FreeVariableError 
Instance details

Defined in PlutusCore.DeBruijn.Internal

Methods

rnfFreeVariableError → () Source #

NFData Index 
Instance details

Defined in PlutusCore.DeBruijn.Internal

Methods

rnfIndex → () Source #

NFData NamedDeBruijn 
Instance details

Defined in PlutusCore.DeBruijn.Internal

Methods

rnfNamedDeBruijn → () Source #

NFData NamedTyDeBruijn 
Instance details

Defined in PlutusCore.DeBruijn.Internal

Methods

rnfNamedTyDeBruijn → () Source #

NFData TyDeBruijn 
Instance details

Defined in PlutusCore.DeBruijn.Internal

Methods

rnfTyDeBruijn → () Source #

NFData DefaultFun 
Instance details

Defined in PlutusCore.Default.Builtins

Methods

rnfDefaultFun → () Source #

NFData ParserError 
Instance details

Defined in PlutusCore.Error

Methods

rnfParserError → () Source #

NFData ParserErrorBundle 
Instance details

Defined in PlutusCore.Error

Methods

rnfParserErrorBundle → () Source #

NFData CkUserError 
Instance details

Defined in PlutusCore.Evaluation.Machine.Ck

Methods

rnf ∷ CkUserError → () Source #

NFData CostModelApplyError 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostModelInterface

Methods

rnfCostModelApplyError → () Source #

NFData Coefficient0 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfCoefficient0 → () Source #

NFData Coefficient00 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfCoefficient00 → () Source #

NFData Coefficient01 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfCoefficient01 → () Source #

NFData Coefficient02 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfCoefficient02 → () Source #

NFData Coefficient1 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfCoefficient1 → () Source #

NFData Coefficient10 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfCoefficient10 → () Source #

NFData Coefficient11 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfCoefficient11 → () Source #

NFData Coefficient2 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfCoefficient2 → () Source #

NFData Coefficient20 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfCoefficient20 → () Source #

NFData Intercept 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfIntercept → () Source #

NFData ModelConstantOrLinear 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfModelConstantOrLinear → () Source #

NFData ModelConstantOrOneArgument 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

NFData ModelConstantOrTwoArguments 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

NFData ModelFiveArguments 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfModelFiveArguments → () Source #

NFData ModelFourArguments 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfModelFourArguments → () Source #

NFData ModelOneArgument 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfModelOneArgument → () Source #

NFData ModelSixArguments 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfModelSixArguments → () Source #

NFData ModelSubtractedSizes 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfModelSubtractedSizes → () Source #

NFData ModelThreeArguments 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfModelThreeArguments → () Source #

NFData ModelTwoArguments 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfModelTwoArguments → () Source #

NFData OneVariableLinearFunction 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

NFData OneVariableQuadraticFunction 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

NFData Slope 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfSlope → () Source #

NFData TwoVariableLinearFunction 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

NFData TwoVariableQuadraticFunction 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

NFData ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

rnfExBudget → () Source #

NFData ExRestrictingBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

rnfExRestrictingBudget → () Source #

NFData ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

rnfExCPU → () Source #

NFData ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

rnfExMemory → () Source #

NFData Name 
Instance details

Defined in PlutusCore.Name.Unique

Methods

rnfName → () Source #

NFData TyName 
Instance details

Defined in PlutusCore.Name.Unique

Methods

rnfTyName → () Source #

NFData Unique 
Instance details

Defined in PlutusCore.Name.Unique

Methods

rnfUnique → () Source #

NFData Version 
Instance details

Defined in PlutusCore.Version

Methods

rnfVersion → () Source #

NFData CountingSt 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.ExBudgetMode

Methods

rnfCountingSt → () Source #

NFData RestrictingSt 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.ExBudgetMode

Methods

rnfRestrictingSt → () Source #

NFData CekUserError 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.Internal

Methods

rnfCekUserError → () Source #

NFData StepKind 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.Internal

Methods

rnfStepKind → () Source #

NFData SatInt 
Instance details

Defined in Data.SatInt

Methods

rnfSatInt → () Source #

NFData EvaluationContext 
Instance details

Defined in PlutusLedgerApi.Common.Eval

Methods

rnfEvaluationContext → () Source #

NFData ScriptForEvaluation 
Instance details

Defined in PlutusLedgerApi.Common.SerialisedScript

Methods

rnfScriptForEvaluation → () Source #

NFData ScriptNamedDeBruijn 
Instance details

Defined in PlutusLedgerApi.Common.SerialisedScript

Methods

rnfScriptNamedDeBruijn → () Source #

NFData PlutusLedgerLanguage 
Instance details

Defined in PlutusLedgerApi.Common.Versions

Methods

rnfPlutusLedgerLanguage → () Source #

NFData Address 
Instance details

Defined in PlutusLedgerApi.V1.Address

Methods

rnfAddress → () Source #

NFData LedgerBytes 
Instance details

Defined in PlutusLedgerApi.V1.Bytes

Methods

rnfLedgerBytes → () Source #

NFData Credential 
Instance details

Defined in PlutusLedgerApi.V1.Credential

Methods

rnfCredential → () Source #

NFData StakingCredential 
Instance details

Defined in PlutusLedgerApi.V1.Credential

Methods

rnfStakingCredential → () Source #

NFData PubKeyHash 
Instance details

Defined in PlutusLedgerApi.V1.Crypto

Methods

rnfPubKeyHash → () Source #

NFData DCert 
Instance details

Defined in PlutusLedgerApi.V1.DCert

Methods

rnfDCert → () Source #

NFData Datum 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Methods

rnfDatum → () Source #

NFData DatumHash 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Methods

rnfDatumHash → () Source #

NFData Redeemer 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Methods

rnfRedeemer → () Source #

NFData RedeemerHash 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Methods

rnfRedeemerHash → () Source #

NFData ScriptError 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Methods

rnfScriptError → () Source #

NFData ScriptHash 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Methods

rnfScriptHash → () Source #

NFData DiffMilliSeconds 
Instance details

Defined in PlutusLedgerApi.V1.Time

Methods

rnfDiffMilliSeconds → () Source #

NFData POSIXTime 
Instance details

Defined in PlutusLedgerApi.V1.Time

Methods

rnfPOSIXTime → () Source #

NFData RedeemerPtr 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Methods

rnfRedeemerPtr → () Source #

NFData ScriptTag 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Methods

rnfScriptTag → () Source #

NFData TxId 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Methods

rnfTxId → () Source #

NFData TxOut 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Methods

rnfTxOut → () Source #

NFData TxOutRef 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Methods

rnfTxOutRef → () Source #

NFData AssetClass 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

rnfAssetClass → () Source #

NFData CurrencySymbol 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

rnfCurrencySymbol → () Source #

NFData TokenName 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

rnfTokenName → () Source #

NFData Value 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

rnfValue → () Source #

NFData OutputDatum 
Instance details

Defined in PlutusLedgerApi.V2.Tx

Methods

rnfOutputDatum → () Source #

NFData TxOut 
Instance details

Defined in PlutusLedgerApi.V2.Tx

Methods

rnfTxOut → () Source #

NFData TxId 
Instance details

Defined in PlutusLedgerApi.V3.Tx

Methods

rnfTxId → () Source #

NFData TxOutRef 
Instance details

Defined in PlutusLedgerApi.V3.Tx

Methods

rnfTxOutRef → () Source #

NFData BuiltinBLS12_381_G1_Element 
Instance details

Defined in PlutusTx.Builtins.Internal

NFData BuiltinBLS12_381_G2_Element 
Instance details

Defined in PlutusTx.Builtins.Internal

NFData BuiltinBLS12_381_MlResult 
Instance details

Defined in PlutusTx.Builtins.Internal

NFData BuiltinByteString 
Instance details

Defined in PlutusTx.Builtins.Internal

Methods

rnfBuiltinByteString → () Source #

NFData BuiltinData 
Instance details

Defined in PlutusTx.Builtins.Internal

Methods

rnfBuiltinData → () Source #

NFData CovLoc 
Instance details

Defined in PlutusTx.Coverage

Methods

rnfCovLoc → () Source #

NFData CoverageAnnotation 
Instance details

Defined in PlutusTx.Coverage

Methods

rnfCoverageAnnotation → () Source #

NFData CoverageData 
Instance details

Defined in PlutusTx.Coverage

Methods

rnfCoverageData → () Source #

NFData CoverageIndex 
Instance details

Defined in PlutusTx.Coverage

Methods

rnfCoverageIndex → () Source #

NFData CoverageMetadata 
Instance details

Defined in PlutusTx.Coverage

Methods

rnfCoverageMetadata → () Source #

NFData CoverageReport 
Instance details

Defined in PlutusTx.Coverage

Methods

rnfCoverageReport → () Source #

NFData Metadata 
Instance details

Defined in PlutusTx.Coverage

Methods

rnfMetadata → () Source #

NFData TextDetails 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Methods

rnfTextDetails → () Source #

NFData Doc 
Instance details

Defined in Text.PrettyPrint.HughesPJ

Methods

rnfDoc → () Source #

NFData StdGen 
Instance details

Defined in System.Random.Internal

Methods

rnfStdGen → () Source #

NFData Scientific 
Instance details

Defined in Data.Scientific

Methods

rnfScientific → () Source #

NFData SMGen 
Instance details

Defined in System.Random.SplitMix

Methods

rnfSMGen → () Source #

NFData SMGen 
Instance details

Defined in System.Random.SplitMix32

Methods

rnfSMGen → () Source #

NFData ShortText 
Instance details

Defined in Data.Text.Short.Internal

Methods

rnfShortText → () Source #

NFData CalendarDiffDays 
Instance details

Defined in Data.Time.Calendar.CalendarDiffDays

Methods

rnfCalendarDiffDays → () Source #

NFData Day 
Instance details

Defined in Data.Time.Calendar.Days

Methods

rnfDay → () Source #

NFData Month 
Instance details

Defined in Data.Time.Calendar.Month

Methods

rnfMonth → () Source #

NFData Quarter 
Instance details

Defined in Data.Time.Calendar.Quarter

Methods

rnfQuarter → () Source #

NFData QuarterOfYear 
Instance details

Defined in Data.Time.Calendar.Quarter

Methods

rnfQuarterOfYear → () Source #

NFData DayOfWeek 
Instance details

Defined in Data.Time.Calendar.Week

Methods

rnfDayOfWeek → () Source #

NFData AbsoluteTime 
Instance details

Defined in Data.Time.Clock.Internal.AbsoluteTime

Methods

rnfAbsoluteTime → () Source #

NFData DiffTime 
Instance details

Defined in Data.Time.Clock.Internal.DiffTime

Methods

rnfDiffTime → () Source #

NFData NominalDiffTime 
Instance details

Defined in Data.Time.Clock.Internal.NominalDiffTime

Methods

rnfNominalDiffTime → () Source #

NFData SystemTime 
Instance details

Defined in Data.Time.Clock.Internal.SystemTime

Methods

rnfSystemTime → () Source #

NFData UTCTime 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

Methods

rnfUTCTime → () Source #

NFData UniversalTime 
Instance details

Defined in Data.Time.Clock.Internal.UniversalTime

Methods

rnfUniversalTime → () Source #

NFData CalendarDiffTime 
Instance details

Defined in Data.Time.LocalTime.Internal.CalendarDiffTime

Methods

rnfCalendarDiffTime → () Source #

NFData LocalTime 
Instance details

Defined in Data.Time.LocalTime.Internal.LocalTime

Methods

rnfLocalTime → () Source #

NFData TimeOfDay 
Instance details

Defined in Data.Time.LocalTime.Internal.TimeOfDay

Methods

rnfTimeOfDay → () Source #

NFData TimeZone 
Instance details

Defined in Data.Time.LocalTime.Internal.TimeZone

Methods

rnfTimeZone → () Source #

NFData ZonedTime 
Instance details

Defined in Data.Time.LocalTime.Internal.ZonedTime

Methods

rnfZonedTime → () Source #

NFData EditExpr 
Instance details

Defined in Data.TreeDiff.Expr

Methods

rnfEditExpr → () Source #

NFData Expr 
Instance details

Defined in Data.TreeDiff.Expr

Methods

rnfExpr → () Source #

NFData UUID 
Instance details

Defined in Data.UUID.Types.Internal

Methods

rnfUUID → () Source #

NFData Integer 
Instance details

Defined in Control.DeepSeq

Methods

rnfInteger → () Source #

NFData Natural

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfNatural → () Source #

NFData () 
Instance details

Defined in Control.DeepSeq

Methods

rnf ∷ () → () Source #

NFData Bool 
Instance details

Defined in Control.DeepSeq

Methods

rnfBool → () Source #

NFData Char 
Instance details

Defined in Control.DeepSeq

Methods

rnfChar → () Source #

NFData Double 
Instance details

Defined in Control.DeepSeq

Methods

rnfDouble → () Source #

NFData Float 
Instance details

Defined in Control.DeepSeq

Methods

rnfFloat → () Source #

NFData Int 
Instance details

Defined in Control.DeepSeq

Methods

rnfInt → () Source #

NFData Word 
Instance details

Defined in Control.DeepSeq

Methods

rnfWord → () Source #

NFData a ⇒ NFData (Only a) 
Instance details

Defined in Data.Tuple.Only

Methods

rnfOnly a → () Source #

NFData v ⇒ NFData (KeyMap v) 
Instance details

Defined in Data.Aeson.KeyMap

Methods

rnfKeyMap v → () Source #

NFData a ⇒ NFData (IResult a) 
Instance details

Defined in Data.Aeson.Types.Internal

Methods

rnfIResult a → () Source #

NFData a ⇒ NFData (Result a) 
Instance details

Defined in Data.Aeson.Types.Internal

Methods

rnfResult a → () Source #

NFData a ⇒ NFData (Graph a) 
Instance details

Defined in Algebra.Graph

Methods

rnfGraph a → () Source #

NFData a ⇒ NFData (AdjacencyMap a) 
Instance details

Defined in Algebra.Graph.AdjacencyMap

Methods

rnfAdjacencyMap a → () Source #

NFData a ⇒ NFData (AdjacencyMap a) 
Instance details

Defined in Algebra.Graph.NonEmpty.AdjacencyMap

Methods

rnfAdjacencyMap a → () Source #

NFData a ⇒ NFData (Relation a) 
Instance details

Defined in Algebra.Graph.Relation

Methods

rnfRelation a → () Source #

NFData a ⇒ NFData (Relation a) 
Instance details

Defined in Algebra.Graph.Relation.Symmetric

Methods

rnfRelation a → () Source #

NFData a ⇒ NFData (Graph a) 
Instance details

Defined in Algebra.Graph.Undirected

Methods

rnfGraph a → () Source #

NFData a ⇒ NFData (ZipList a)

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfZipList a → () Source #

NFData a ⇒ NFData (Complex a) 
Instance details

Defined in Control.DeepSeq

Methods

rnfComplex a → () Source #

NFData a ⇒ NFData (Identity a)

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfIdentity a → () Source #

NFData a ⇒ NFData (First a)

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfFirst a → () Source #

NFData a ⇒ NFData (Last a)

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfLast a → () Source #

NFData a ⇒ NFData (Down a)

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfDown a → () Source #

NFData a ⇒ NFData (First a)

Since: deepseq-1.4.2.0

Instance details

Defined in Control.DeepSeq

Methods

rnfFirst a → () Source #

NFData a ⇒ NFData (Last a)

Since: deepseq-1.4.2.0

Instance details

Defined in Control.DeepSeq

Methods

rnfLast a → () Source #

NFData a ⇒ NFData (Max a)

Since: deepseq-1.4.2.0

Instance details

Defined in Control.DeepSeq

Methods

rnfMax a → () Source #

NFData a ⇒ NFData (Min a)

Since: deepseq-1.4.2.0

Instance details

Defined in Control.DeepSeq

Methods

rnfMin a → () Source #

NFData m ⇒ NFData (WrappedMonoid m)

Since: deepseq-1.4.2.0

Instance details

Defined in Control.DeepSeq

Methods

rnfWrappedMonoid m → () Source #

NFData a ⇒ NFData (Dual a)

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfDual a → () Source #

NFData a ⇒ NFData (Product a)

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfProduct a → () Source #

NFData a ⇒ NFData (Sum a)

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfSum a → () Source #

NFData (IORef a)

NOTE: Only strict in the reference and not the referenced value.

Since: deepseq-1.4.2.0

Instance details

Defined in Control.DeepSeq

Methods

rnfIORef a → () Source #

NFData (MVar a)

NOTE: Only strict in the reference and not the referenced value.

Since: deepseq-1.4.2.0

Instance details

Defined in Control.DeepSeq

Methods

rnfMVar a → () Source #

NFData (FunPtr a)

Since: deepseq-1.4.2.0

Instance details

Defined in Control.DeepSeq

Methods

rnfFunPtr a → () Source #

NFData (Ptr a)

Since: deepseq-1.4.2.0

Instance details

Defined in Control.DeepSeq

Methods

rnfPtr a → () Source #

NFData a ⇒ NFData (Ratio a) 
Instance details

Defined in Control.DeepSeq

Methods

rnfRatio a → () Source #

NFData (StableName a)

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfStableName a → () Source #

NFData (SigDSIGN EcdsaSecp256k1DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.EcdsaSecp256k1

NFData (SigDSIGN Ed25519DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.Ed25519

Methods

rnfSigDSIGN Ed25519DSIGN → () Source #

NFData (SigDSIGN MockDSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.Mock

Methods

rnfSigDSIGN MockDSIGN → () Source #

NFData (SigDSIGN SchnorrSecp256k1DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.SchnorrSecp256k1

NFData (SignKeyDSIGN EcdsaSecp256k1DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.EcdsaSecp256k1

NFData (SignKeyDSIGN Ed25519DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.Ed25519

NFData (SignKeyDSIGN Ed448DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.Ed448

Methods

rnfSignKeyDSIGN Ed448DSIGN → () Source #

NFData (SignKeyDSIGN MockDSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.Mock

Methods

rnfSignKeyDSIGN MockDSIGN → () Source #

NFData (SignKeyDSIGN SchnorrSecp256k1DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.SchnorrSecp256k1

NFData (VerKeyDSIGN EcdsaSecp256k1DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.EcdsaSecp256k1

NFData (VerKeyDSIGN Ed25519DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.Ed25519

Methods

rnfVerKeyDSIGN Ed25519DSIGN → () Source #

NFData (VerKeyDSIGN Ed448DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.Ed448

Methods

rnfVerKeyDSIGN Ed448DSIGN → () Source #

NFData (VerKeyDSIGN MockDSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.Mock

Methods

rnfVerKeyDSIGN MockDSIGN → () Source #

NFData (VerKeyDSIGN SchnorrSecp256k1DSIGN) 
Instance details

Defined in Cardano.Crypto.DSIGN.SchnorrSecp256k1

(NFData (SigDSIGN d), NFData (VerKeyDSIGN d)) ⇒ NFData (SigKES (CompactSingleKES d)) 
Instance details

Defined in Cardano.Crypto.KES.CompactSingle

Methods

rnfSigKES (CompactSingleKES d) → () Source #

(NFData (SigKES d), NFData (VerKeyKES d)) ⇒ NFData (SigKES (CompactSumKES h d)) 
Instance details

Defined in Cardano.Crypto.KES.CompactSum

Methods

rnfSigKES (CompactSumKES h d) → () Source #

NFData (SigDSIGN d) ⇒ NFData (SigKES (SingleKES d)) 
Instance details

Defined in Cardano.Crypto.KES.Single

Methods

rnfSigKES (SingleKES d) → () Source #

(NFData (SigKES d), NFData (VerKeyKES d)) ⇒ NFData (SigKES (SumKES h d)) 
Instance details

Defined in Cardano.Crypto.KES.Sum

Methods

rnfSigKES (SumKES h d) → () Source #

NFData (SignKeyDSIGN d) ⇒ NFData (SignKeyKES (CompactSingleKES d)) 
Instance details

Defined in Cardano.Crypto.KES.CompactSingle

Methods

rnfSignKeyKES (CompactSingleKES d) → () Source #

(NFData (SignKeyKES d), NFData (VerKeyKES d)) ⇒ NFData (SignKeyKES (CompactSumKES h d)) 
Instance details

Defined in Cardano.Crypto.KES.CompactSum

Methods

rnfSignKeyKES (CompactSumKES h d) → () Source #

NFData (SignKeyDSIGN d) ⇒ NFData (SignKeyKES (SingleKES d)) 
Instance details

Defined in Cardano.Crypto.KES.Single

Methods

rnfSignKeyKES (SingleKES d) → () Source #

(NFData (SignKeyKES d), NFData (VerKeyKES d)) ⇒ NFData (SignKeyKES (SumKES h d)) 
Instance details

Defined in Cardano.Crypto.KES.Sum

Methods

rnfSignKeyKES (SumKES h d) → () Source #

NFData (VerKeyDSIGN d) ⇒ NFData (VerKeyKES (CompactSingleKES d)) 
Instance details

Defined in Cardano.Crypto.KES.CompactSingle

Methods

rnfVerKeyKES (CompactSingleKES d) → () Source #

NFData (VerKeyKES (CompactSumKES h d)) 
Instance details

Defined in Cardano.Crypto.KES.CompactSum

Methods

rnfVerKeyKES (CompactSumKES h d) → () Source #

NFData (VerKeyDSIGN d) ⇒ NFData (VerKeyKES (SingleKES d)) 
Instance details

Defined in Cardano.Crypto.KES.Single

Methods

rnfVerKeyKES (SingleKES d) → () Source #

NFData (VerKeyKES (SumKES h d)) 
Instance details

Defined in Cardano.Crypto.KES.Sum

Methods

rnfVerKeyKES (SumKES h d) → () Source #

NFData (MLockedSizedBytes n) 
Instance details

Defined in Cardano.Crypto.Libsodium.MLockedBytes.Internal

Methods

rnfMLockedSizedBytes n → () Source #

NFData (PackedBytes n) 
Instance details

Defined in Cardano.Crypto.PackedBytes

Methods

rnfPackedBytes n → () Source #

NFData (PinnedSizedBytes n) 
Instance details

Defined in Cardano.Crypto.PinnedSizedBytes

Methods

rnfPinnedSizedBytes n → () Source #

NFData (CertVRF SimpleVRF) 
Instance details

Defined in Cardano.Crypto.VRF.Simple

Methods

rnfCertVRF SimpleVRF → () Source #

NFData (CertVRF PraosVRF) 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

rnfCertVRF PraosVRF → () Source #

NFData (CertVRF PraosBatchCompatVRF) 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

NFData (OutputVRF v) 
Instance details

Defined in Cardano.Crypto.VRF.Class

Methods

rnfOutputVRF v → () Source #

NFData (SignKeyVRF SimpleVRF) 
Instance details

Defined in Cardano.Crypto.VRF.Simple

Methods

rnfSignKeyVRF SimpleVRF → () Source #

NFData (SignKeyVRF PraosVRF) 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

rnfSignKeyVRF PraosVRF → () Source #

NFData (SignKeyVRF PraosBatchCompatVRF) 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

NFData (VerKeyVRF SimpleVRF) 
Instance details

Defined in Cardano.Crypto.VRF.Simple

Methods

rnfVerKeyVRF SimpleVRF → () Source #

NFData (VerKeyVRF PraosVRF) 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

rnfVerKeyVRF PraosVRF → () Source #

NFData (VerKeyVRF PraosBatchCompatVRF) 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

NFData a ⇒ NFData (AProtocolMagic a) 
Instance details

Defined in Cardano.Crypto.ProtocolMagic

Methods

rnfAProtocolMagic a → () Source #

NFData (RedeemSignature a) 
Instance details

Defined in Cardano.Crypto.Signing.Redeem.Signature

Methods

rnfRedeemSignature a → () Source #

NFData (Signature a) 
Instance details

Defined in Cardano.Crypto.Signing.Signature

Methods

rnfSignature a → () Source #

NFData a ⇒ NFData (Sized a) 
Instance details

Defined in Cardano.Ledger.Binary.Decoding.Sized

Methods

rnfSized a → () Source #

NFData h ⇒ NFData (Attributes h) 
Instance details

Defined in Cardano.Chain.Common.Attributes

Methods

rnfAttributes h → () Source #

NFData a ⇒ NFData (MerkleNode a) 
Instance details

Defined in Cardano.Chain.Common.Merkle

Methods

rnfMerkleNode a → () Source #

NFData (MerkleRoot a) 
Instance details

Defined in Cardano.Chain.Common.Merkle

Methods

rnfMerkleRoot a → () Source #

NFData a ⇒ NFData (MerkleTree a) 
Instance details

Defined in Cardano.Chain.Common.Merkle

Methods

rnfMerkleTree a → () Source #

NFData (Addr c) 
Instance details

Defined in Cardano.Ledger.Address

Methods

rnfAddr c → () Source #

NFData (BootstrapAddress c) 
Instance details

Defined in Cardano.Ledger.Address

Methods

rnfBootstrapAddress c → () Source #

NFData (CompactAddr c) 
Instance details

Defined in Cardano.Ledger.Address

Methods

rnfCompactAddr c → () Source #

NFData (RewardAccount c) 
Instance details

Defined in Cardano.Ledger.Address

Methods

rnfRewardAccount c → () Source #

NFData (Withdrawals c) 
Instance details

Defined in Cardano.Ledger.Address

Methods

rnfWithdrawals c → () Source #

NFData (AuxiliaryDataHash c) 
Instance details

Defined in Cardano.Ledger.AuxiliaryData

Methods

rnfAuxiliaryDataHash c → () Source #

Crypto c ⇒ NFData (Anchor c) 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnfAnchor c → () Source #

NFData (BlocksMade c) 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnfBlocksMade c → () Source #

Era era ⇒ NFData (CertState era) 
Instance details

Defined in Cardano.Ledger.CertState

Methods

rnfCertState era → () Source #

Crypto c ⇒ NFData (CommitteeAuthorization c) 
Instance details

Defined in Cardano.Ledger.CertState

Methods

rnfCommitteeAuthorization c → () Source #

Era era ⇒ NFData (CommitteeState era) 
Instance details

Defined in Cardano.Ledger.CertState

Methods

rnfCommitteeState era → () Source #

NFData (DState era) 
Instance details

Defined in Cardano.Ledger.CertState

Methods

rnfDState era → () Source #

NFData (FutureGenDeleg c) 
Instance details

Defined in Cardano.Ledger.CertState

Methods

rnfFutureGenDeleg c → () Source #

NFData (InstantaneousRewards c) 
Instance details

Defined in Cardano.Ledger.CertState

Methods

rnfInstantaneousRewards c → () Source #

NFData (PState era) 
Instance details

Defined in Cardano.Ledger.CertState

Methods

rnfPState era → () Source #

Era era ⇒ NFData (VState era) 
Instance details

Defined in Cardano.Ledger.CertState

Methods

rnfVState era → () Source #

NFData (CompactForm Coin) 
Instance details

Defined in Cardano.Ledger.Coin

Methods

rnfCompactForm Coin → () Source #

NFData (CompactForm DeltaCoin) 
Instance details

Defined in Cardano.Ledger.Coin

Methods

rnfCompactForm DeltaCoin → () Source #

NFData (PParamsHKD Identity era) ⇒ NFData (PParams era) 
Instance details

Defined in Cardano.Ledger.Core.PParams

Methods

rnfPParams era → () Source #

NFData (PParamsHKD StrictMaybe era) ⇒ NFData (PParamsUpdate era) 
Instance details

Defined in Cardano.Ledger.Core.PParams

Methods

rnfPParamsUpdate era → () Source #

NFData (Delegation c) 
Instance details

Defined in Cardano.Ledger.Core.TxCert

Methods

rnfDelegation c → () Source #

NFData (PoolCert c) 
Instance details

Defined in Cardano.Ledger.Core.TxCert

Methods

rnfPoolCert c → () Source #

NFData (StakeReference c) 
Instance details

Defined in Cardano.Ledger.Credential

Methods

rnfStakeReference c → () Source #

NFData (DRep c) 
Instance details

Defined in Cardano.Ledger.DRep

Methods

rnfDRep c → () Source #

Crypto c ⇒ NFData (DRepState c) 
Instance details

Defined in Cardano.Ledger.DRep

Methods

rnfDRepState c → () Source #

NFData (SnapShot c) 
Instance details

Defined in Cardano.Ledger.EpochBoundary

Methods

rnfSnapShot c → () Source #

NFData (SnapShots c) 
Instance details

Defined in Cardano.Ledger.EpochBoundary

Methods

rnfSnapShots c → () Source #

NFData (Stake c) 
Instance details

Defined in Cardano.Ledger.EpochBoundary

Methods

rnfStake c → () Source #

NFData (NoUpdate a) 
Instance details

Defined in Cardano.Ledger.HKD

Methods

rnfNoUpdate a → () Source #

NFData (ScriptHash c) 
Instance details

Defined in Cardano.Ledger.Hashes

Methods

rnfScriptHash c → () Source #

(Crypto era, NFData (VerKeyDSIGN (DSIGN era)), NFData (SigDSIGN (DSIGN era))) ⇒ NFData (BootstrapWitness era) 
Instance details

Defined in Cardano.Ledger.Keys.Bootstrap

Methods

rnfBootstrapWitness era → () Source #

NFData (GenDelegPair c) 
Instance details

Defined in Cardano.Ledger.Keys.Internal

Methods

rnfGenDelegPair c → () Source #

NFData (GenDelegs c) 
Instance details

Defined in Cardano.Ledger.Keys.Internal

Methods

rnfGenDelegs c → () Source #

NFData (Data era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

rnfData era → () Source #

NFData (PlutusData era) 
Instance details

Defined in Cardano.Ledger.Plutus.Data

Methods

rnfPlutusData era → () Source #

NFData a ⇒ NFData (ExUnits' a) 
Instance details

Defined in Cardano.Ledger.Plutus.ExUnits

Methods

rnfExUnits' a → () Source #

NFData (PlutusScriptContext l) ⇒ NFData (LegacyPlutusArgs l) 
Instance details

Defined in Cardano.Ledger.Plutus.Language

Methods

rnfLegacyPlutusArgs l → () Source #

NFData (Plutus l) 
Instance details

Defined in Cardano.Ledger.Plutus.Language

Methods

rnfPlutus l → () Source #

NFData (PlutusArgs 'PlutusV1) 
Instance details

Defined in Cardano.Ledger.Plutus.Language

Methods

rnfPlutusArgs 'PlutusV1 → () Source #

NFData (PlutusArgs 'PlutusV2) 
Instance details

Defined in Cardano.Ledger.Plutus.Language

Methods

rnfPlutusArgs 'PlutusV2 → () Source #

NFData (PlutusArgs 'PlutusV3) 
Instance details

Defined in Cardano.Ledger.Plutus.Language

Methods

rnfPlutusArgs 'PlutusV3 → () Source #

NFData (PlutusRunnable l) 
Instance details

Defined in Cardano.Ledger.Plutus.Language

Methods

rnfPlutusRunnable l → () Source #

NFData (TxOutSource era) 
Instance details

Defined in Cardano.Ledger.Plutus.TxInfo

Methods

rnfTxOutSource era → () Source #

NFData (IndividualPoolStake c) 
Instance details

Defined in Cardano.Ledger.PoolDistr

Methods

rnfIndividualPoolStake c → () Source #

NFData (PoolDistr c) 
Instance details

Defined in Cardano.Ledger.PoolDistr

Methods

rnfPoolDistr c → () Source #

NFData (PoolParams c) 
Instance details

Defined in Cardano.Ledger.PoolParams

Methods

rnfPoolParams c → () Source #

NFData (Reward c) 
Instance details

Defined in Cardano.Ledger.Rewards

Methods

rnfReward c → () Source #

Crypto c ⇒ NFData (TxId c) 
Instance details

Defined in Cardano.Ledger.TxIn

Methods

rnfTxId c → () Source #

Crypto c ⇒ NFData (TxIn c) 
Instance details

Defined in Cardano.Ledger.TxIn

Methods

rnfTxIn c → () Source #

NFData (StakeCredentials c) 
Instance details

Defined in Cardano.Ledger.UMap

Methods

rnfStakeCredentials c → () Source #

NFData (UMElem c) 
Instance details

Defined in Cardano.Ledger.UMap

Methods

rnfUMElem c → () Source #

NFData (UMap c) 
Instance details

Defined in Cardano.Ledger.UMap

Methods

rnfUMap c → () Source #

(Era era, NFData (Script era)) ⇒ NFData (ScriptsProvided era) 
Instance details

Defined in Cardano.Ledger.UTxO

Methods

rnfScriptsProvided era → () Source #

(Era era, NFData (TxOut era)) ⇒ NFData (UTxO era) 
Instance details

Defined in Cardano.Ledger.UTxO

Methods

rnfUTxO era → () Source #

NFData s ⇒ NFData (StateGen s) Source # 
Instance details

Defined in Test.Cardano.Ledger.Imp.Common

Methods

rnfStateGen s → () Source #

NFData a ⇒ NFData (WithOrigin a) 
Instance details

Defined in Cardano.Slotting.Slot

Methods

rnfWithOrigin a → () Source #

NFData a ⇒ NFData (StrictMaybe a) 
Instance details

Defined in Data.Maybe.Strict

Methods

rnfStrictMaybe a → () Source #

NFData a ⇒ NFData (StrictSeq a) 
Instance details

Defined in Data.Sequence.Strict

Methods

rnfStrictSeq a → () Source #

NFData s ⇒ NFData (CI s) 
Instance details

Defined in Data.CaseInsensitive.Internal

Methods

rnfCI s → () Source #

NFData a ⇒ NFData (SCC a) 
Instance details

Defined in Data.Graph

Methods

rnfSCC a → () Source #

NFData a ⇒ NFData (IntMap a) 
Instance details

Defined in Data.IntMap.Internal

Methods

rnfIntMap a → () Source #

NFData a ⇒ NFData (Digit a) 
Instance details

Defined in Data.Sequence.Internal

Methods

rnfDigit a → () Source #

NFData a ⇒ NFData (Elem a) 
Instance details

Defined in Data.Sequence.Internal

Methods

rnfElem a → () Source #

NFData a ⇒ NFData (FingerTree a) 
Instance details

Defined in Data.Sequence.Internal

Methods

rnfFingerTree a → () Source #

NFData a ⇒ NFData (Node a) 
Instance details

Defined in Data.Sequence.Internal

Methods

rnfNode a → () Source #

NFData a ⇒ NFData (Seq a) 
Instance details

Defined in Data.Sequence.Internal

Methods

rnfSeq a → () Source #

NFData a ⇒ NFData (Set a) 
Instance details

Defined in Data.Set.Internal

Methods

rnfSet a → () Source #

NFData a ⇒ NFData (Tree a) 
Instance details

Defined in Data.Tree

Methods

rnfTree a → () Source #

NFData (Context a) 
Instance details

Defined in Crypto.Hash.Types

Methods

rnfContext a → () Source #

NFData (Digest a) 
Instance details

Defined in Crypto.Hash.Types

Methods

rnfDigest a → () Source #

NFData (MutableByteArray s) 
Instance details

Defined in Data.Array.Byte

Methods

rnfMutableByteArray s → () Source #

NFData1 f ⇒ NFData (Fix f) 
Instance details

Defined in Data.Fix

Methods

rnfFix f → () Source #

NFData a ⇒ NFData (DNonEmpty a) 
Instance details

Defined in Data.DList.DNonEmpty.Internal

Methods

rnfDNonEmpty a → () Source #

NFData a ⇒ NFData (DList a) 
Instance details

Defined in Data.DList.Internal

Methods

rnfDList a → () Source #

NFData a ⇒ NFData (PostAligned a) 
Instance details

Defined in Flat.Filler

Methods

rnfPostAligned a → () Source #

NFData a ⇒ NFData (PreAligned a) 
Instance details

Defined in Flat.Filler

Methods

rnfPreAligned a → () Source #

NFData a ⇒ NFData (Hashed a) 
Instance details

Defined in Data.Hashable.Class

Methods

rnfHashed a → () Source #

NFData a ⇒ NFData (ErrorFancy a) 
Instance details

Defined in Text.Megaparsec.Error

Methods

rnfErrorFancy a → () Source #

NFData t ⇒ NFData (ErrorItem t) 
Instance details

Defined in Text.Megaparsec.Error

Methods

rnfErrorItem t → () Source #

NFData s ⇒ NFData (PosState s) 
Instance details

Defined in Text.Megaparsec.State

Methods

rnfPosState s → () Source #

NFData (BuiltinSemanticsVariant DefaultFun) 
Instance details

Defined in PlutusCore.Default.Builtins

NFData (BuiltinRuntime val) 
Instance details

Defined in PlutusCore.Builtin.Runtime

Methods

rnfBuiltinRuntime val → () Source #

NFData ann ⇒ NFData (Kind ann) 
Instance details

Defined in PlutusCore.Core.Type

Methods

rnfKind ann → () Source #

NFData a ⇒ NFData (Normalized a) 
Instance details

Defined in PlutusCore.Core.Type

Methods

rnfNormalized a → () Source #

NFData a ⇒ NFData (ExpectedShapeOr a) 
Instance details

Defined in PlutusCore.Error

Methods

rnfExpectedShapeOr a → () Source #

NFData ann ⇒ NFData (UniqueError ann) 
Instance details

Defined in PlutusCore.Error

Methods

rnfUniqueError ann → () Source #

AllArgumentModels NFData f ⇒ NFData (BuiltinCostModelBase f) 
Instance details

Defined in PlutusCore.Evaluation.Machine.BuiltinCostModel

Methods

rnfBuiltinCostModelBase f → () Source #

NFData model ⇒ NFData (CostingFun model) 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

rnfCostingFun model → () Source #

NFData (MachineError fun) 
Instance details

Defined in PlutusCore.Evaluation.Machine.Exception

Methods

rnfMachineError fun → () Source #

NFData a ⇒ NFData (EvaluationResult a) 
Instance details

Defined in PlutusCore.Evaluation.Result

Methods

rnfEvaluationResult a → () Source #

Closed uni ⇒ NFData (SomeTypeIn uni) 
Instance details

Defined in Universe.Core

Methods

rnfSomeTypeIn uni → () Source #

AllBF NFData f CekMachineCostsBaseNFData (CekMachineCostsBase f) 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.CekMachineCosts

Methods

rnfCekMachineCostsBase f → () Source #

NFData fun ⇒ NFData (CekExTally fun) 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.ExBudgetMode

Methods

rnfCekExTally fun → () Source #

NFData fun ⇒ NFData (TallyingSt fun) 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.ExBudgetMode

Methods

rnfTallyingSt fun → () Source #

NFData fun ⇒ NFData (ExBudgetCategory fun) 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.Internal

Methods

rnfExBudgetCategory fun → () Source #

NFData a ⇒ NFData (Extended a) 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

rnfExtended a → () Source #

NFData a ⇒ NFData (Interval a) 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

rnfInterval a → () Source #

NFData a ⇒ NFData (LowerBound a) 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

rnfLowerBound a → () Source #

NFData a ⇒ NFData (UpperBound a) 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

rnfUpperBound a → () Source #

NFData a ⇒ NFData (AnnotDetails a) 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Methods

rnfAnnotDetails a → () Source #

NFData a ⇒ NFData (Doc a) 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Methods

rnfDoc a → () Source #

NFData a ⇒ NFData (Array a) 
Instance details

Defined in Data.Primitive.Array

Methods

rnfArray a → () Source #

NFData (PrimArray a) 
Instance details

Defined in Data.Primitive.PrimArray

Methods

rnfPrimArray a → () Source #

NFData a ⇒ NFData (SmallArray a) 
Instance details

Defined in Data.Primitive.SmallArray

Methods

rnfSmallArray a → () Source #

NFData a ⇒ NFData (Leaf a) 
Instance details

Defined in Data.RAList.Tree.Internal

Methods

rnfLeaf a → () Source #

NFData g ⇒ NFData (StateGen g) 
Instance details

Defined in System.Random.Internal

Methods

rnfStateGen g → () Source #

NFData g ⇒ NFData (AtomicGen g) 
Instance details

Defined in System.Random.Stateful

Methods

rnfAtomicGen g → () Source #

NFData g ⇒ NFData (IOGen g) 
Instance details

Defined in System.Random.Stateful

Methods

rnfIOGen g → () Source #

NFData g ⇒ NFData (STGen g) 
Instance details

Defined in System.Random.Stateful

Methods

rnfSTGen g → () Source #

NFData g ⇒ NFData (TGen g) 
Instance details

Defined in System.Random.Stateful

Methods

rnfTGen g → () Source #

NFData a ⇒ NFData (Maybe a) 
Instance details

Defined in Data.Strict.Maybe

Methods

rnfMaybe a → () Source #

NFData v ⇒ NFData (Val v) 
Instance details

Defined in Data.TreeDiff.OMap

Methods

rnf ∷ Val v → () Source #

NFData a ⇒ NFData (HashSet a) 
Instance details

Defined in Data.HashSet.Internal

Methods

rnfHashSet a → () Source #

NFData a ⇒ NFData (Vector a) 
Instance details

Defined in Data.Vector

Methods

rnfVector a → () Source #

NFData (Vector a) 
Instance details

Defined in Data.Vector.Primitive

Methods

rnfVector a → () Source #

NFData (Vector a) 
Instance details

Defined in Data.Vector.Storable

Methods

rnfVector a → () Source #

NFData (Vector a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

rnfVector a → () Source #

NFData a ⇒ NFData (Doc a) 
Instance details

Defined in Text.PrettyPrint.Annotated.WL

Methods

rnfDoc a → () Source #

NFData a ⇒ NFData (SimpleDoc a) 
Instance details

Defined in Text.PrettyPrint.Annotated.WL

Methods

rnfSimpleDoc a → () Source #

NFData a ⇒ NFData (NonEmpty a)

Since: deepseq-1.4.2.0

Instance details

Defined in Control.DeepSeq

Methods

rnfNonEmpty a → () Source #

NFData a ⇒ NFData (Maybe a) 
Instance details

Defined in Control.DeepSeq

Methods

rnfMaybe a → () Source #

NFData a ⇒ NFData [a] 
Instance details

Defined in Control.DeepSeq

Methods

rnf ∷ [a] → () Source #

(NFData e, NFData a) ⇒ NFData (Graph e a) 
Instance details

Defined in Algebra.Graph.Labelled

Methods

rnfGraph e a → () Source #

(NFData a, NFData e) ⇒ NFData (AdjacencyMap e a) 
Instance details

Defined in Algebra.Graph.Labelled.AdjacencyMap

Methods

rnfAdjacencyMap e a → () Source #

(NFData i, NFData r) ⇒ NFData (IResult i r) 
Instance details

Defined in Data.Attoparsec.Internal.Types

Methods

rnfIResult i r → () Source #

(NFData a, NFData b) ⇒ NFData (Either a b) 
Instance details

Defined in Control.DeepSeq

Methods

rnfEither a b → () Source #

NFData (Fixed a)

Since: deepseq-1.3.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfFixed a → () Source #

NFData (Proxy a)

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfProxy a → () Source #

(NFData a, NFData b) ⇒ NFData (Arg a b)

Since: deepseq-1.4.2.0

Instance details

Defined in Control.DeepSeq

Methods

rnfArg a b → () Source #

(NFData a, NFData b) ⇒ NFData (Array a b) 
Instance details

Defined in Control.DeepSeq

Methods

rnfArray a b → () Source #

NFData (STRef s a)

NOTE: Only strict in the reference and not the referenced value.

Since: deepseq-1.4.2.0

Instance details

Defined in Control.DeepSeq

Methods

rnfSTRef s a → () Source #

(NFData a, NFData b) ⇒ NFData (Bimap a b) 
Instance details

Defined in Data.Bimap

Methods

rnfBimap a b → () Source #

NFData (SigDSIGN v) ⇒ NFData (SignedDSIGN v a) 
Instance details

Defined in Cardano.Crypto.DSIGN.Class

Methods

rnfSignedDSIGN v a → () Source #

NFData (Hash h a) 
Instance details

Defined in Cardano.Crypto.Hash.Class

Methods

rnfHash h a → () Source #

NFData (AbstractHash algo a) 
Instance details

Defined in Cardano.Crypto.Hashing

Methods

rnfAbstractHash algo a → () Source #

(NFData b, NFData a) ⇒ NFData (Annotated b a) 
Instance details

Defined in Cardano.Ledger.Binary.Decoding.Annotated

Methods

rnfAnnotated b a → () Source #

NFData a ⇒ NFData (BoundedRatio b a) 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnf ∷ BoundedRatio b a → () Source #

NFData a ⇒ NFData (Mismatch r a) 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnfMismatch r a → () Source #

NFData (VoidEraRule rule era) 
Instance details

Defined in Cardano.Ledger.Core.Era

Methods

rnfVoidEraRule rule era → () Source #

NFData (Credential kr c) 
Instance details

Defined in Cardano.Ledger.Credential

Methods

rnfCredential kr c → () Source #

NFData (KeyHash discriminator c) 
Instance details

Defined in Cardano.Ledger.Keys.Internal

Methods

rnfKeyHash discriminator c → () Source #

(Crypto c, NFData (VerKeyDSIGN (DSIGN c))) ⇒ NFData (VKey kd c) 
Instance details

Defined in Cardano.Ledger.Keys.Internal

Methods

rnfVKey kd c → () Source #

NFData (WitVKey kr c) 
Instance details

Defined in Cardano.Ledger.Keys.WitVKey

Methods

rnfWitVKey kr c → () Source #

NFData (t era) ⇒ NFData (MemoBytes t era) 
Instance details

Defined in Cardano.Ledger.MemoBytes.Internal

Methods

rnfMemoBytes t era → () Source #

NFData (SafeHash c index) 
Instance details

Defined in Cardano.Ledger.SafeHash

Methods

rnfSafeHash c index → () Source #

(Crypto c, NFData (VerKeyDSIGN (DSIGN c)), NFData (SignKeyDSIGN (DSIGN c))) ⇒ NFData (KeyPair kd c) Source # 
Instance details

Defined in Test.Cardano.Ledger.Core.KeyPair

Methods

rnfKeyPair kd c → () Source #

(NFData k, NFData a) ⇒ NFData (Map k a) 
Instance details

Defined in Data.Map.Internal

Methods

rnfMap k a → () Source #

(NFData (Token s), NFData e) ⇒ NFData (ParseError s e) 
Instance details

Defined in Text.Megaparsec.Error

Methods

rnfParseError s e → () Source #

(NFData s, NFData (Token s), NFData e) ⇒ NFData (ParseErrorBundle s e) 
Instance details

Defined in Text.Megaparsec.Error

Methods

rnfParseErrorBundle s e → () Source #

(NFData s, NFData (ParseError s e)) ⇒ NFData (State s e) 
Instance details

Defined in Text.Megaparsec.State

Methods

rnfState s e → () Source #

(NFData k, NFData a) ⇒ NFData (MonoidalHashMap k a) 
Instance details

Defined in Data.HashMap.Monoidal

Methods

rnfMonoidalHashMap k a → () Source #

(NFData k, NFData a) ⇒ NFData (MonoidalMap k a) 
Instance details

Defined in Data.Map.Monoidal

Methods

rnfMonoidalMap k a → () Source #

(Bounded fun, Enum fun) ⇒ NFData (BuiltinsRuntime fun val) 
Instance details

Defined in PlutusCore.Builtin.Runtime

Methods

rnfBuiltinsRuntime fun val → () Source #

(NFData structural, NFData operational) ⇒ NFData (EvaluationError structural operational) 
Instance details

Defined in PlutusCore.Evaluation.Error

Methods

rnfEvaluationError structural operational → () Source #

(NFData err, NFData cause) ⇒ NFData (ErrorWithCause err cause) 
Instance details

Defined in PlutusCore.Evaluation.ErrorWithCause

Methods

rnfErrorWithCause err cause → () Source #

(Closed uni, Everywhere uni NFData) ⇒ NFData (ValueOf uni a) 
Instance details

Defined in Universe.Core

Methods

rnfValueOf uni a → () Source #

(NFData ann, Closed uni) ⇒ NFData (TypeErrorExt uni ann) 
Instance details

Defined in PlutusIR.Error

Methods

rnfTypeErrorExt uni ann → () Source #

(NFData k, NFData v) ⇒ NFData (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

Methods

rnfMap k v → () Source #

NFData (MutablePrimArray s a) 
Instance details

Defined in Data.Primitive.PrimArray

Methods

rnfMutablePrimArray s a → () Source #

NFData (f a) ⇒ NFData (Node f a) 
Instance details

Defined in Data.RAList.Tree.Internal

Methods

rnfNode f a → () Source #

GNFData tag ⇒ NFData (Some tag) 
Instance details

Defined in Data.Some.Newtype

Methods

rnfSome tag → () Source #

(NFData a, NFData b) ⇒ NFData (Either a b) 
Instance details

Defined in Data.Strict.Either

Methods

rnfEither a b → () Source #

(NFData a, NFData b) ⇒ NFData (These a b) 
Instance details

Defined in Data.Strict.These

Methods

rnfThese a b → () Source #

(NFData a, NFData b) ⇒ NFData (Pair a b) 
Instance details

Defined in Data.Strict.Tuple

Methods

rnfPair a b → () Source #

(NFData a, NFData b) ⇒ NFData (These a b)

Since: these-0.7.1

Instance details

Defined in Data.These

Methods

rnfThese a b → () Source #

(NFData k, NFData v) ⇒ NFData (OMap k v) 
Instance details

Defined in Data.TreeDiff.OMap

Methods

rnfOMap k v → () Source #

(NFData k, NFData v) ⇒ NFData (HashMap k v) 
Instance details

Defined in Data.HashMap.Internal

Methods

rnfHashMap k v → () Source #

(NFData k, NFData v) ⇒ NFData (Leaf k v) 
Instance details

Defined in Data.HashMap.Internal

Methods

rnfLeaf k v → () Source #

(NFData e, NFData a) ⇒ NFData (Validation e a) 
Instance details

Defined in Validation

Methods

rnfValidation e a → () Source #

NFData (MVector s a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

rnfMVector s a → () Source #

NFData (a → b)

This instance is for convenience and consistency with seq. This assumes that WHNF is equivalent to NF for functions.

Since: deepseq-1.3.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnf ∷ (a → b) → () Source #

(NFData a, NFData b) ⇒ NFData (a, b) 
Instance details

Defined in Control.DeepSeq

Methods

rnf ∷ (a, b) → () Source #

NFData a ⇒ NFData (Const a b)

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfConst a b → () Source #

NFData (a :~: b)

Since: deepseq-1.4.3.0

Instance details

Defined in Control.DeepSeq

Methods

rnf ∷ (a :~: b) → () Source #

(NFData ann, NFData tyname, Closed uni) ⇒ NFData (Type tyname uni ann) 
Instance details

Defined in PlutusCore.Core.Type

Methods

rnfType tyname uni ann → () Source #

(NFData fun, NFData ann, Closed uni, Everywhere uni NFData, NFData ParserError) ⇒ NFData (Error uni fun ann) 
Instance details

Defined in PlutusCore.Error

Methods

rnfError uni fun ann → () Source #

(NFData machinecosts, Bounded fun, Enum fun) ⇒ NFData (MachineParameters machinecosts fun val) 
Instance details

Defined in PlutusCore.Evaluation.Machine.MachineParameters

Methods

rnfMachineParameters machinecosts fun val → () Source #

NFData b ⇒ NFData (Tagged s b) 
Instance details

Defined in Data.Tagged

Methods

rnfTagged s b → () Source #

(NFData (f a), NFData (g a), NFData a) ⇒ NFData (These1 f g a)

Available always

Since: these-1.2

Instance details

Defined in Data.Functor.These

Methods

rnfThese1 f g a → () Source #

(NFData (kv k), NFData (vv v)) ⇒ NFData (KVVector kv vv (k, v)) 
Instance details

Defined in Data.VMap.KVVector

Methods

rnfKVVector kv vv (k, v) → () Source #

(NFData a1, NFData a2, NFData a3) ⇒ NFData (a1, a2, a3) 
Instance details

Defined in Control.DeepSeq

Methods

rnf ∷ (a1, a2, a3) → () Source #

(NFData1 f, NFData1 g, NFData a) ⇒ NFData (Product f g a)

Since: deepseq-1.4.3.0

Instance details

Defined in Control.DeepSeq

Methods

rnfProduct f g a → () Source #

(NFData1 f, NFData1 g, NFData a) ⇒ NFData (Sum f g a)

Since: deepseq-1.4.3.0

Instance details

Defined in Control.DeepSeq

Methods

rnfSum f g a → () Source #

NFData (a :~~: b)

Since: deepseq-1.4.3.0

Instance details

Defined in Control.DeepSeq

Methods

rnf ∷ (a :~~: b) → () Source #

(Closed uni, NFData ann, NFData term, NFData fun) ⇒ NFData (TypeError term uni fun ann) 
Instance details

Defined in PlutusCore.Error

Methods

rnfTypeError term uni fun ann → () Source #

(NFData name, Everywhere uni NFData, NFData fun, NFData ann, Closed uni) ⇒ NFData (Program name uni fun ann) 
Instance details

Defined in UntypedPlutusCore.Core.Type

Methods

rnfProgram name uni fun ann → () Source #

(NFData name, NFData fun, NFData ann, Everywhere uni NFData, Closed uni) ⇒ NFData (Term name uni fun ann) 
Instance details

Defined in UntypedPlutusCore.Core.Type

Methods

rnfTerm name uni fun ann → () Source #

(NFData (kv k), NFData (vv v)) ⇒ NFData (VMap kv vv k v) 
Instance details

Defined in Data.VMap

Methods

rnfVMap kv vv k v → () Source #

(NFData a1, NFData a2, NFData a3, NFData a4) ⇒ NFData (a1, a2, a3, a4) 
Instance details

Defined in Control.DeepSeq

Methods

rnf ∷ (a1, a2, a3, a4) → () Source #

(NFData1 f, NFData1 g, NFData a) ⇒ NFData (Compose f g a)

Since: deepseq-1.4.3.0

Instance details

Defined in Control.DeepSeq

Methods

rnfCompose f g a → () Source #

(NFData tyname, NFData name, Everywhere uni NFData, NFData fun, NFData ann, Closed uni) ⇒ NFData (Program tyname name uni fun ann) 
Instance details

Defined in PlutusCore.Core.Type

Methods

rnfProgram tyname name uni fun ann → () Source #

(NFData tyname, NFData name, NFData fun, NFData ann, Everywhere uni NFData, Closed uni) ⇒ NFData (Term tyname name uni fun ann) 
Instance details

Defined in PlutusCore.Core.Type

Methods

rnfTerm tyname name uni fun ann → () Source #

(NFData tyname, NFData name, Closed uni, Everywhere uni NFData, NFData fun, NFData ann) ⇒ NFData (NormCheckError tyname name uni fun ann) 
Instance details

Defined in PlutusCore.Error

Methods

rnfNormCheckError tyname name uni fun ann → () Source #

(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5) ⇒ NFData (a1, a2, a3, a4, a5) 
Instance details

Defined in Control.DeepSeq

Methods

rnf ∷ (a1, a2, a3, a4, a5) → () Source #

(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6) ⇒ NFData (a1, a2, a3, a4, a5, a6) 
Instance details

Defined in Control.DeepSeq

Methods

rnf ∷ (a1, a2, a3, a4, a5, a6) → () Source #

(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6, NFData a7) ⇒ NFData (a1, a2, a3, a4, a5, a6, a7) 
Instance details

Defined in Control.DeepSeq

Methods

rnf ∷ (a1, a2, a3, a4, a5, a6, a7) → () Source #

(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6, NFData a7, NFData a8) ⇒ NFData (a1, a2, a3, a4, a5, a6, a7, a8) 
Instance details

Defined in Control.DeepSeq

Methods

rnf ∷ (a1, a2, a3, a4, a5, a6, a7, a8) → () Source #

(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6, NFData a7, NFData a8, NFData a9) ⇒ NFData (a1, a2, a3, a4, a5, a6, a7, a8, a9) 
Instance details

Defined in Control.DeepSeq

Methods

rnf ∷ (a1, a2, a3, a4, a5, a6, a7, a8, a9) → () Source #

Expr

class ToExpr a where Source #

toExpr converts a Haskell value into untyped Haskell-like syntax tree, Expr.

>>> toExpr ((1, Just 2) :: (Int, Maybe Int))
App "_\215_" [App "1" [],App "Just" [App "2" []]]

Minimal complete definition

Nothing

Methods

toExpr ∷ a → Expr Source #

listToExpr ∷ [a] → Expr Source #

Instances

Instances details
ToExpr Key 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprKeyExpr Source #

listToExpr ∷ [Key] → Expr Source #

ToExpr Value 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprValueExpr Source #

listToExpr ∷ [Value] → Expr Source #

ToExpr Void 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprVoidExpr Source #

listToExpr ∷ [Void] → Expr Source #

ToExpr Int16 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprInt16Expr Source #

listToExpr ∷ [Int16] → Expr Source #

ToExpr Int32 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprInt32Expr Source #

listToExpr ∷ [Int32] → Expr Source #

ToExpr Int64 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprInt64Expr Source #

listToExpr ∷ [Int64] → Expr Source #

ToExpr Int8 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprInt8Expr Source #

listToExpr ∷ [Int8] → Expr Source #

ToExpr Word16 
Instance details

Defined in Data.TreeDiff.Class

ToExpr Word32 
Instance details

Defined in Data.TreeDiff.Class

ToExpr Word64 
Instance details

Defined in Data.TreeDiff.Class

ToExpr Word8 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprWord8Expr Source #

listToExpr ∷ [Word8] → Expr Source #

ToExpr ByteString
>>> traverse_ (print . prettyExpr . toExpr . BS8.pack) ["", "\n", "foo", "foo\n", "foo\nbar", "foo\nbar\n"]
""
"\n"
"foo"
"foo\n"
BS.concat ["foo\n", "bar"]
BS.concat ["foo\n", "bar\n"]
Instance details

Defined in Data.TreeDiff.Class

ToExpr ByteString
>>> traverse_ (print . prettyExpr . toExpr . LBS8.pack) ["", "\n", "foo", "foo\n", "foo\nbar", "foo\nbar\n"]
""
"\n"
"foo"
"foo\n"
LBS.concat ["foo\n", "bar"]
LBS.concat ["foo\n", "bar\n"]
Instance details

Defined in Data.TreeDiff.Class

ToExpr ShortByteString
>>> traverse_ (print . prettyExpr . toExpr . SBS.toShort . BS8.pack) ["", "\n", "foo", "foo\n", "foo\nbar", "foo\nbar\n"]
""
"\n"
"foo"
"foo\n"
mconcat ["foo\n", "bar"]
mconcat ["foo\n", "bar\n"]
Instance details

Defined in Data.TreeDiff.Class

ToExpr CBORBytes 
Instance details

Defined in Test.Cardano.Ledger.Binary.TreeDiff

ToExpr HexBytes 
Instance details

Defined in Test.Cardano.Ledger.Binary.TreeDiff

ToExpr CertIx Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr DnsName Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr Network Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr NonNegativeInterval Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr Nonce Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprNonceExpr Source #

listToExpr ∷ [Nonce] → Expr Source #

ToExpr Port Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprPortExpr Source #

listToExpr ∷ [Port] → Expr Source #

ToExpr ProtVer Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr TxIx Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprTxIxExpr Source #

listToExpr ∷ [TxIx] → Expr Source #

ToExpr UnitInterval Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr Url Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprUrlExpr Source #

listToExpr ∷ [Url] → Expr Source #

ToExpr Coin Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprCoinExpr Source #

listToExpr ∷ [Coin] → Expr Source #

ToExpr DeltaCoin Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr Ptr Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprPtrExpr Source #

listToExpr ∷ [Ptr] → Expr Source #

ToExpr ChainCode Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr CostModel Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr CostModels Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr ExUnits Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr Prices Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr Language Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr PlutusBinary Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr PoolMetadata Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr StakePoolRelay Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr RDPair Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr EpochInterval Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr IntSet 
Instance details

Defined in Data.TreeDiff.Class

ToExpr ByteArray

Since: tree-diff-0.2.2

Instance details

Defined in Data.TreeDiff.Class

ToExpr Ordering 
Instance details

Defined in Data.TreeDiff.Class

ToExpr Scientific
>>> prettyExpr $ toExpr (123.456 :: Scientific)
scientific 123456 `-3`
Instance details

Defined in Data.TreeDiff.Class

ToExpr Text
>>> traverse_ (print . prettyExpr . toExpr . T.pack) ["", "\n", "foo", "foo\n", "foo\nbar", "foo\nbar\n"]
""
"\n"
"foo"
"foo\n"
T.concat ["foo\n", "bar"]
T.concat ["foo\n", "bar\n"]
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprTextExpr Source #

listToExpr ∷ [Text] → Expr Source #

ToExpr Text
>>> traverse_ (print . prettyExpr . toExpr . LT.pack) ["", "\n", "foo", "foo\n", "foo\nbar", "foo\nbar\n"]
""
"\n"
"foo"
"foo\n"
LT.concat ["foo\n", "bar"]
LT.concat ["foo\n", "bar\n"]
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprTextExpr Source #

listToExpr ∷ [Text] → Expr Source #

ToExpr Day
>>> prettyExpr $ toExpr $ ModifiedJulianDay 58014
Day "2017-09-18"
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprDayExpr Source #

listToExpr ∷ [Day] → Expr Source #

ToExpr UTCTime 
Instance details

Defined in Data.TreeDiff.Class

ToExpr Expr 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprExprExpr Source #

listToExpr ∷ [Expr] → Expr Source #

ToExpr UUID
>>> prettyExpr $ toExpr UUID.nil
UUID "00000000-0000-0000-0000-000000000000"
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprUUIDExpr Source #

listToExpr ∷ [UUID] → Expr Source #

ToExpr Integer 
Instance details

Defined in Data.TreeDiff.Class

ToExpr Natural 
Instance details

Defined in Data.TreeDiff.Class

ToExpr () 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExpr ∷ () → Expr Source #

listToExpr ∷ [()] → Expr Source #

ToExpr Bool 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprBoolExpr Source #

listToExpr ∷ [Bool] → Expr Source #

ToExpr Char
>>> prettyExpr $ toExpr 'a'
'a'
>>> prettyExpr $ toExpr "Hello world"
"Hello world"
>>> prettyExpr $ toExpr "Hello\nworld"
concat ["Hello\n", "world"]
>>> traverse_ (print . prettyExpr . toExpr) ["", "\n", "foo", "foo\n", "foo\nbar", "foo\nbar\n"]
""
"\n"
"foo"
"foo\n"
concat ["foo\n", "bar"]
concat ["foo\n", "bar\n"]
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprCharExpr Source #

listToExpr ∷ [Char] → Expr Source #

ToExpr Double 
Instance details

Defined in Data.TreeDiff.Class

ToExpr Float 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprFloatExpr Source #

listToExpr ∷ [Float] → Expr Source #

ToExpr Int 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprIntExpr Source #

listToExpr ∷ [Int] → Expr Source #

ToExpr Word 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprWordExpr Source #

listToExpr ∷ [Word] → Expr Source #

ToExpr a ⇒ ToExpr (KeyMap a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprKeyMap a → Expr Source #

listToExpr ∷ [KeyMap a] → Expr Source #

ToExpr a ⇒ ToExpr (ZipList a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprZipList a → Expr Source #

listToExpr ∷ [ZipList a] → Expr Source #

ToExpr a ⇒ ToExpr (Identity a)
>>> prettyExpr $ toExpr $ Identity 'a'
Identity 'a'
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprIdentity a → Expr Source #

listToExpr ∷ [Identity a] → Expr Source #

ToExpr a ⇒ ToExpr (First a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprFirst a → Expr Source #

listToExpr ∷ [First a] → Expr Source #

ToExpr a ⇒ ToExpr (Last a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprLast a → Expr Source #

listToExpr ∷ [Last a] → Expr Source #

ToExpr a ⇒ ToExpr (First a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprFirst a → Expr Source #

listToExpr ∷ [First a] → Expr Source #

ToExpr a ⇒ ToExpr (Last a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprLast a → Expr Source #

listToExpr ∷ [Last a] → Expr Source #

ToExpr a ⇒ ToExpr (Max a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprMax a → Expr Source #

listToExpr ∷ [Max a] → Expr Source #

ToExpr a ⇒ ToExpr (Min a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprMin a → Expr Source #

listToExpr ∷ [Min a] → Expr Source #

ToExpr a ⇒ ToExpr (Dual a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprDual a → Expr Source #

listToExpr ∷ [Dual a] → Expr Source #

ToExpr a ⇒ ToExpr (Product a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprProduct a → Expr Source #

listToExpr ∷ [Product a] → Expr Source #

ToExpr a ⇒ ToExpr (Sum a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprSum a → Expr Source #

listToExpr ∷ [Sum a] → Expr Source #

(ToExpr a, Integral a) ⇒ ToExpr (Ratio a)
>>> prettyExpr $ toExpr (3 % 12 :: Rational)
_%_ 1 4
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprRatio a → Expr Source #

listToExpr ∷ [Ratio a] → Expr Source #

ToExpr (Addr c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprAddr c → Expr Source #

listToExpr ∷ [Addr c] → Expr Source #

ToExpr (BootstrapAddress c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (CompactAddr c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (RewardAccount era) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (Withdrawals c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (AuxiliaryDataHash c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (Anchor c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprAnchor c → Expr Source #

listToExpr ∷ [Anchor c] → Expr Source #

ToExpr (BlocksMade c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (CertState era) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprCertState era → Expr Source #

listToExpr ∷ [CertState era] → Expr Source #

ToExpr (CommitteeAuthorization c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (CommitteeState era) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (DState era) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprDState era → Expr Source #

listToExpr ∷ [DState era] → Expr Source #

ToExpr (FutureGenDeleg c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (InstantaneousRewards c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (PState era) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprPState era → Expr Source #

listToExpr ∷ [PState era] → Expr Source #

ToExpr (VState era) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprVState era → Expr Source #

listToExpr ∷ [VState era] → Expr Source #

ToExpr (CompactForm Coin) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (CompactForm DeltaCoin) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (PParamsHKD Identity era) ⇒ ToExpr (PParams era) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprPParams era → Expr Source #

listToExpr ∷ [PParams era] → Expr Source #

ToExpr (PParamsHKD StrictMaybe era) ⇒ ToExpr (PParamsUpdate era) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (PoolCert c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprPoolCert c → Expr Source #

listToExpr ∷ [PoolCert c] → Expr Source #

ToExpr (StakeReference c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (DRep c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprDRep c → Expr Source #

listToExpr ∷ [DRep c] → Expr Source #

ToExpr (DRepState c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (SnapShot c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprSnapShot c → Expr Source #

listToExpr ∷ [SnapShot c] → Expr Source #

ToExpr (SnapShots c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (Stake c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprStake c → Expr Source #

listToExpr ∷ [Stake c] → Expr Source #

ToExpr (NoUpdate a) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprNoUpdate a → Expr Source #

listToExpr ∷ [NoUpdate a] → Expr Source #

ToExpr (ScriptHash c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Crypto c ⇒ ToExpr (BootstrapWitness c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (GenDelegPair c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (GenDelegs c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (BinaryData era) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprBinaryData era → Expr Source #

listToExpr ∷ [BinaryData era] → Expr Source #

ToExpr (Data era) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprData era → Expr Source #

listToExpr ∷ [Data era] → Expr Source #

ToExpr (Datum era) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprDatum era → Expr Source #

listToExpr ∷ [Datum era] → Expr Source #

ToExpr (PlutusData era) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprPlutusData era → Expr Source #

listToExpr ∷ [PlutusData era] → Expr Source #

ToExpr (Plutus l) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprPlutus l → Expr Source #

listToExpr ∷ [Plutus l] → Expr Source #

ToExpr (TxOutSource era) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprTxOutSource era → Expr Source #

listToExpr ∷ [TxOutSource era] → Expr Source #

ToExpr (IndividualPoolStake c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (PoolDistr c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (PoolParams era) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprPoolParams era → Expr Source #

listToExpr ∷ [PoolParams era] → Expr Source #

ToExpr (TxId c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprTxId c → Expr Source #

listToExpr ∷ [TxId c] → Expr Source #

ToExpr (TxIn c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprTxIn c → Expr Source #

listToExpr ∷ [TxIn c] → Expr Source #

ToExpr (UMElem c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprUMElem c → Expr Source #

listToExpr ∷ [UMElem c] → Expr Source #

ToExpr (UMap c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprUMap c → Expr Source #

listToExpr ∷ [UMap c] → Expr Source #

(Era era, ToExpr (Script era)) ⇒ ToExpr (ScriptsProvided era) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

ToExpr (TxOut era) ⇒ ToExpr (UTxO era) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprUTxO era → Expr Source #

listToExpr ∷ [UTxO era] → Expr Source #

ToExpr v ⇒ ToExpr (IntMap v) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprIntMap v → Expr Source #

listToExpr ∷ [IntMap v] → Expr Source #

ToExpr v ⇒ ToExpr (Seq v) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprSeq v → Expr Source #

listToExpr ∷ [Seq v] → Expr Source #

ToExpr k ⇒ ToExpr (Set k) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprSet k → Expr Source #

listToExpr ∷ [Set k] → Expr Source #

ToExpr a ⇒ ToExpr (Tree a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprTree a → Expr Source #

listToExpr ∷ [Tree a] → Expr Source #

ToExpr a ⇒ ToExpr (Hashed a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprHashed a → Expr Source #

listToExpr ∷ [Hashed a] → Expr Source #

ToExpr a ⇒ ToExpr (Maybe a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprMaybe a → Expr Source #

listToExpr ∷ [Maybe a] → Expr Source #

ToExpr k ⇒ ToExpr (HashSet k) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprHashSet k → Expr Source #

listToExpr ∷ [HashSet k] → Expr Source #

ToExpr a ⇒ ToExpr (Vector a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprVector a → Expr Source #

listToExpr ∷ [Vector a] → Expr Source #

(ToExpr a, Prim a) ⇒ ToExpr (Vector a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprVector a → Expr Source #

listToExpr ∷ [Vector a] → Expr Source #

(ToExpr a, Storable a) ⇒ ToExpr (Vector a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprVector a → Expr Source #

listToExpr ∷ [Vector a] → Expr Source #

(ToExpr a, Unbox a) ⇒ ToExpr (Vector a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprVector a → Expr Source #

listToExpr ∷ [Vector a] → Expr Source #

ToExpr a ⇒ ToExpr (NonEmpty a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprNonEmpty a → Expr Source #

listToExpr ∷ [NonEmpty a] → Expr Source #

ToExpr a ⇒ ToExpr (Maybe a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprMaybe a → Expr Source #

listToExpr ∷ [Maybe a] → Expr Source #

ToExpr a ⇒ ToExpr [a] 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExpr ∷ [a] → Expr Source #

listToExpr ∷ [[a]] → Expr Source #

(ToExpr a, ToExpr b) ⇒ ToExpr (Either a b) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprEither a b → Expr Source #

listToExpr ∷ [Either a b] → Expr Source #

HasResolution a ⇒ ToExpr (Fixed a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprFixed a → Expr Source #

listToExpr ∷ [Fixed a] → Expr Source #

ToExpr (Proxy a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprProxy a → Expr Source #

listToExpr ∷ [Proxy a] → Expr Source #

ToExpr a ⇒ ToExpr (Mismatch r a) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprMismatch r a → Expr Source #

listToExpr ∷ [Mismatch r a] → Expr Source #

ToExpr (VoidEraRule rule era) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprVoidEraRule rule era → Expr Source #

listToExpr ∷ [VoidEraRule rule era] → Expr Source #

ToExpr (Credential keyrole c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprCredential keyrole c → Expr Source #

listToExpr ∷ [Credential keyrole c] → Expr Source #

ToExpr (KeyHash keyrole c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprKeyHash keyrole c → Expr Source #

listToExpr ∷ [KeyHash keyrole c] → Expr Source #

Crypto c ⇒ ToExpr (VKey r c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprVKey r c → Expr Source #

listToExpr ∷ [VKey r c] → Expr Source #

Crypto c ⇒ ToExpr (WitVKey kr c) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprWitVKey kr c → Expr Source #

listToExpr ∷ [WitVKey kr c] → Expr Source #

ToExpr (t era) ⇒ ToExpr (MemoBytes t era) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprMemoBytes t era → Expr Source #

listToExpr ∷ [MemoBytes t era] → Expr Source #

ToExpr (SafeHash c index) Source # 
Instance details

Defined in Test.Cardano.Ledger.TreeDiff

Methods

toExprSafeHash c index → Expr Source #

listToExpr ∷ [SafeHash c index] → Expr Source #

(ToExpr k, ToExpr v) ⇒ ToExpr (Map k v) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprMap k v → Expr Source #

listToExpr ∷ [Map k v] → Expr Source #

(ToExpr a, ToExpr b) ⇒ ToExpr (Either a b) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprEither a b → Expr Source #

listToExpr ∷ [Either a b] → Expr Source #

(ToExpr a, ToExpr b) ⇒ ToExpr (These a b) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprThese a b → Expr Source #

listToExpr ∷ [These a b] → Expr Source #

(ToExpr a, ToExpr b) ⇒ ToExpr (Pair a b) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprPair a b → Expr Source #

listToExpr ∷ [Pair a b] → Expr Source #

(ToExpr a, ToExpr b) ⇒ ToExpr (These a b) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprThese a b → Expr Source #

listToExpr ∷ [These a b] → Expr Source #

(ToExpr k, ToExpr v) ⇒ ToExpr (HashMap k v) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprHashMap k v → Expr Source #

listToExpr ∷ [HashMap k v] → Expr Source #

(ToExpr a, ToExpr b) ⇒ ToExpr (a, b) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExpr ∷ (a, b) → Expr Source #

listToExpr ∷ [(a, b)] → Expr Source #

ToExpr a ⇒ ToExpr (Const a b) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprConst a b → Expr Source #

listToExpr ∷ [Const a b] → Expr Source #

ToExpr a ⇒ ToExpr (Tagged t a) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExprTagged t a → Expr Source #

listToExpr ∷ [Tagged t a] → Expr Source #

(ToExpr a, ToExpr b, ToExpr c) ⇒ ToExpr (a, b, c) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExpr ∷ (a, b, c) → Expr Source #

listToExpr ∷ [(a, b, c)] → Expr Source #

(ToExpr a, ToExpr b, ToExpr c, ToExpr d) ⇒ ToExpr (a, b, c, d) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExpr ∷ (a, b, c, d) → Expr Source #

listToExpr ∷ [(a, b, c, d)] → Expr Source #

(ToExpr a, ToExpr b, ToExpr c, ToExpr d, ToExpr e) ⇒ ToExpr (a, b, c, d, e) 
Instance details

Defined in Data.TreeDiff.Class

Methods

toExpr ∷ (a, b, c, d, e) → Expr Source #

listToExpr ∷ [(a, b, c, d, e)] → Expr Source #

showExprToExpr a ⇒ a → String Source #

diffExprToExpr a ⇒ a → a → Doc AnsiStyle Source #

diffExprStringToExpr a ⇒ a → a → String Source #

diffExprCompactToExpr a ⇒ a → a → Doc AnsiStyle Source #

Expectations

assertBool Source #

Arguments

HasCallStack 
String

The message that is displayed if the assertion fails

Bool

The condition

Assertion 

Asserts that the specified condition holds.

assertFailure Source #

Arguments

HasCallStack 
String

A message that is displayed with the assertion failure

IO a 

Unconditionally signals that a failure has occurred.

assertColorFailureHasCallStackStringIO a Source #

Similar to assertFailure, except hspec will not interfer with any escape sequences that indicate color output.

Non-standard expectations

shouldBeExpr ∷ (HasCallStack, ToExpr a, Eq a) ⇒ a → a → IO () infix 1 Source #

shouldBeRight ∷ (HasCallStack, Show a, Show b, Eq b) ⇒ Either a b → b → Expectation infix 1 Source #

Same as shouldBe, except it checks that the value is Right

shouldBeLeft ∷ (HasCallStack, Show a, Eq a, Show b) ⇒ Either a b → a → Expectation infix 1 Source #

Same as shouldBe, except it checks that the value is Left

shouldBeRightExpr ∷ (HasCallStack, ToExpr a, Eq b, ToExpr b) ⇒ Either a b → b → Expectation infix 1 Source #

Same as shouldBeExpr, except it checks that the value is Right

shouldBeLeftExpr ∷ (HasCallStack, ToExpr a, ToExpr b, Eq a) ⇒ Either a b → a → Expectation infix 1 Source #

Same as shouldBeExpr, except it checks that the value is Left

expectRight ∷ (HasCallStack, Show a) ⇒ Either a b → IO b Source #

Return value on the Right and fail otherwise

expectRightDeep ∷ (HasCallStack, Show a, NFData b) ⇒ Either a b → IO b Source #

Same as expectRight, but also evaluate the returned value to NF

expectRightDeep_ ∷ (HasCallStack, Show a, NFData b) ⇒ Either a b → IO () Source #

Same as expectRightDeep, but discards the result

expectRightExpr ∷ (HasCallStack, ToExpr a) ⇒ Either a b → IO b Source #

Same as expectRight, but use ToExpr instead of Show

expectRightDeepExpr ∷ (HasCallStack, ToExpr a, NFData b) ⇒ Either a b → IO b Source #

Same as expectRightDeep, but use ToExpr instead of Show

expectLeft ∷ (HasCallStack, Show b) ⇒ Either a b → IO a Source #

Return value on the Left an fail otherwise

expectLeftExpr ∷ (HasCallStack, ToExpr b) ⇒ Either a b → IO a Source #

Same as expectLeft, but use ToExpr instead of Show

expectLeftDeep ∷ (HasCallStack, NFData a, Show b) ⇒ Either a b → IO a Source #

Same as expectLeft, but also evaluate the returned value to NF

expectLeftDeep_ ∷ (HasCallStack, NFData a, Show b) ⇒ Either a b → IO () Source #

Same as expectLeftDeep, but discards the result

expectLeftDeepExpr ∷ (HasCallStack, ToExpr b, NFData a) ⇒ Either a b → IO a Source #

Same as expectLeftDeep, but use ToExpr instead of Show

Miscellanous helpers

tracedDiscard ∷ [Char] → a Source #

Same as discard but outputs a debug trace message