← All packages

QuickCheck2.18.0.0

Automatic testing of Haskell programs

Open the imported Cabal file ↗

author
Koen Claessen <koen@chalmers.se>
bug-reports
https://github.com/nick8325/quickcheck/issues
build-type
Simple
cabal-version
>= 1.10
category
Testing
copyright
2000-2019 Koen Claessen, 2006-2008 Björn Bringert, 2009-2019 Nick Smallbone
extra-source-files
README changelog.md examples/Heap.hs examples/Heap_Program.hs examples/Heap_ProgramAlgebraic.hs examples/Lambda.hs examples/Merge.hs examples/Set.hs examples/Simple.hs make-hugs test-hugs test-mhs
homepage
https://github.com/nick8325/quickcheck
license
BSD3
license-file
LICENSE
maintainer
Nick Smallbone <nick@smallbone.se>
name
QuickCheck
synopsis
Automatic testing of Haskell programs
tested-with
GHC >= 8.10 && < 9.15, hugs
version
2.18.0.0
Show the complete metadata as JSON
{
  "schemaVersion": 1,
  "name": "QuickCheck",
  "version": "2.18.0.0",
  "cabalVersion": "1.10",
  "buildType": "Simple",
  "fields": {
    "author": [
      "Koen Claessen <koen@chalmers.se>"
    ],
    "bug-reports": [
      "https://github.com/nick8325/quickcheck/issues"
    ],
    "build-type": [
      "Simple"
    ],
    "cabal-version": [
      ">= 1.10"
    ],
    "category": [
      "Testing"
    ],
    "copyright": [
      "2000-2019 Koen Claessen, 2006-2008 Björn Bringert, 2009-2019 Nick Smallbone"
    ],
    "description": [
      "QuickCheck is a library for random testing of program properties.\nThe programmer provides a specification of the program, in the form of\nproperties which functions should satisfy, and QuickCheck then tests that the\nproperties hold in a large number of randomly generated cases.\nSpecifications are expressed in Haskell, using combinators provided by\nQuickCheck. QuickCheck provides combinators to define properties, observe the\ndistribution of test data, and define test data generators.\n.\nMost of QuickCheck's functionality is exported by the main \"Test.QuickCheck\"\nmodule. The main exception is the monadic property testing library in\n\"Test.QuickCheck.Monadic\".\n.\nIf you are new to QuickCheck, you can try looking at the following resources:\n.\n* The <http://www.cse.chalmers.se/~rjmh/QuickCheck/manual.html official QuickCheck manual>.\nIt's a bit out-of-date in some details and doesn't cover newer QuickCheck features,\nbut is still full of good advice.\n* <https://begriffs.com/posts/2017-01-14-design-use-quickcheck.html>,\na detailed tutorial written by a user of QuickCheck.\n.\nThe <https://hackage.haskell.org/package/quickcheck-instances quickcheck-instances>\ncompanion package provides instances for types in Haskell Platform packages\nat the cost of additional dependencies."
    ],
    "extra-source-files": [
      "README\nchangelog.md\nexamples/Heap.hs\nexamples/Heap_Program.hs\nexamples/Heap_ProgramAlgebraic.hs\nexamples/Lambda.hs\nexamples/Merge.hs\nexamples/Set.hs\nexamples/Simple.hs\nmake-hugs\ntest-hugs\ntest-mhs"
    ],
    "homepage": [
      "https://github.com/nick8325/quickcheck"
    ],
    "license": [
      "BSD3"
    ],
    "license-file": [
      "LICENSE"
    ],
    "maintainer": [
      "Nick Smallbone <nick@smallbone.se>"
    ],
    "name": [
      "QuickCheck"
    ],
    "synopsis": [
      "Automatic testing of Haskell programs"
    ],
    "tested-with": [
      "GHC >= 8.10 && < 9.15, hugs"
    ],
    "version": [
      "2.18.0.0"
    ]
  },
  "components": [
    {
      "kind": "library",
      "name": "main",
      "tree": {
        "data": {
          "buildable": null,
          "exposedModules": [
            "Test.QuickCheck",
            "Test.QuickCheck.Compat",
            "Test.QuickCheck.Arbitrary",
            "Test.QuickCheck.Gen",
            "Test.QuickCheck.Gen.Unsafe",
            "Test.QuickCheck.Monadic",
            "Test.QuickCheck.Monoids",
            "Test.QuickCheck.Modifiers",
            "Test.QuickCheck.Property",
            "Test.QuickCheck.Test",
            "Test.QuickCheck.Text",
            "Test.QuickCheck.Poly",
            "Test.QuickCheck.State",
            "Test.QuickCheck.Random",
            "Test.QuickCheck.Exception",
            "Test.QuickCheck.Features"
          ],
          "otherModules": [],
          "dependencies": [
            {
              "package": "base",
              "range": ">=4.14 && <5",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "containers",
              "range": "-any",
              "libraries": [
                "main"
              ]
            }
          ],
          "fields": {}
        },
        "branches": [
          {
            "condition": {
              "flag": "old-random"
            },
            "then": {
              "data": {
                "buildable": null,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [
                  {
                    "package": "random",
                    "range": ">=1.0.0.3 && <1.2.0",
                    "libraries": [
                      "main"
                    ]
                  }
                ],
                "fields": {}
              },
              "branches": []
            },
            "else": {
              "data": {
                "buildable": null,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [
                  {
                    "package": "random",
                    "range": ">=1.2.0 && <1.4",
                    "libraries": [
                      "main"
                    ]
                  }
                ],
                "fields": {}
              },
              "branches": []
            }
          },
          {
            "condition": {
              "compiler": "hugs",
              "range": "-any"
            },
            "then": {
              "data": {
                "buildable": null,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            },
            "else": {
              "data": {
                "buildable": null,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [
                  {
                    "package": "splitmix",
                    "range": ">=0.1.0.2 && <0.2",
                    "libraries": [
                      "main"
                    ]
                  }
                ],
                "fields": {}
              },
              "branches": []
            }
          },
          {
            "condition": {
              "compiler": "hugs",
              "range": "-any"
            },
            "then": {
              "data": {
                "buildable": null,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          },
          {
            "condition": {
              "or": [
                {
                  "compiler": "ghc",
                  "range": "-any"
                },
                {
                  "compiler": "mhs",
                  "range": "-any"
                }
              ]
            },
            "then": {
              "data": {
                "buildable": null,
                "exposedModules": [
                  "Test.QuickCheck.Function"
                ],
                "otherModules": [],
                "dependencies": [
                  {
                    "package": "transformers",
                    "range": ">=0.3",
                    "libraries": [
                      "main"
                    ]
                  },
                  {
                    "package": "deepseq",
                    "range": ">=1.1.0.0",
                    "libraries": [
                      "main"
                    ]
                  }
                ],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          },
          {
            "condition": {
              "and": [
                {
                  "compiler": "ghc",
                  "range": "-any"
                },
                {
                  "flag": "templatehaskell"
                }
              ]
            },
            "then": {
              "data": {
                "buildable": null,
                "exposedModules": [
                  "Test.QuickCheck.All"
                ],
                "otherModules": [],
                "dependencies": [
                  {
                    "package": "template-haskell",
                    "range": ">=2.4",
                    "libraries": [
                      "main"
                    ]
                  }
                ],
                "fields": {}
              },
              "branches": []
            },
            "else": {
              "data": {
                "buildable": null,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            }
          },
          {
            "condition": {
              "and": [
                {
                  "not": {
                    "compiler": "ghc",
                    "range": "-any"
                  }
                },
                {
                  "not": {
                    "compiler": "mhs",
                    "range": "-any"
                  }
                }
              ]
            },
            "then": {
              "data": {
                "buildable": null,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          },
          {
            "condition": {
              "compiler": "ghc",
              "range": "-any"
            },
            "then": {
              "data": {
                "buildable": null,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [
                  {
                    "package": "random",
                    "range": ">=1.0.1.0",
                    "libraries": [
                      "main"
                    ]
                  },
                  {
                    "package": "containers",
                    "range": ">=0.4.2.1",
                    "libraries": [
                      "main"
                    ]
                  }
                ],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          },
          {
            "condition": {
              "compiler": "ghc",
              "range": ">=9.8"
            },
            "then": {
              "data": {
                "buildable": null,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          },
          {
            "condition": {
              "compiler": "ghc",
              "range": "<9.4"
            },
            "then": {
              "data": {
                "buildable": null,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [
                  {
                    "package": "data-array-byte",
                    "range": "-any",
                    "libraries": [
                      "main"
                    ]
                  }
                ],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          },
          {
            "condition": {
              "and": [
                {
                  "not": {
                    "compiler": "ghc",
                    "range": "-any"
                  }
                },
                {
                  "not": {
                    "compiler": "mhs",
                    "range": "-any"
                  }
                }
              ]
            },
            "then": {
              "data": {
                "buildable": null,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": [
                {
                  "condition": {
                    "and": [
                      {
                        "not": {
                          "compiler": "hugs",
                          "range": "-any"
                        }
                      },
                      {
                        "not": {
                          "compiler": "uhc",
                          "range": "-any"
                        }
                      }
                    ]
                  },
                  "then": {
                    "data": {
                      "buildable": null,
                      "exposedModules": [],
                      "otherModules": [],
                      "dependencies": [],
                      "fields": {}
                    },
                    "branches": []
                  },
                  "else": null
                }
              ]
            },
            "else": null
          },
          {
            "condition": {
              "compiler": "mhs",
              "range": "-any"
            },
            "then": {
              "data": {
                "buildable": null,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          },
          {
            "condition": {
              "compiler": "hugs",
              "range": "-any"
            },
            "then": {
              "data": {
                "buildable": null,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          }
        ]
      }
    },
    {
      "kind": "test-suite",
      "name": "test-quickcheck",
      "tree": {
        "data": {
          "buildable": null,
          "exposedModules": [],
          "otherModules": [],
          "dependencies": [
            {
              "package": "base",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "QuickCheck",
              "range": "-any",
              "libraries": [
                "main"
              ]
            }
          ],
          "fields": {
            "type": [
              "exitcode-stdio-1.0"
            ]
          }
        },
        "branches": [
          {
            "condition": {
              "not": {
                "flag": "templatehaskell"
              }
            },
            "then": {
              "data": {
                "buildable": false,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          }
        ]
      }
    },
    {
      "kind": "test-suite",
      "name": "test-quickcheck-gcoarbitrary",
      "tree": {
        "data": {
          "buildable": null,
          "exposedModules": [],
          "otherModules": [],
          "dependencies": [
            {
              "package": "base",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "QuickCheck",
              "range": "-any",
              "libraries": [
                "main"
              ]
            }
          ],
          "fields": {
            "type": [
              "exitcode-stdio-1.0"
            ]
          }
        },
        "branches": [
          {
            "condition": {
              "not": {
                "flag": "templatehaskell"
              }
            },
            "then": {
              "data": {
                "buildable": false,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          }
        ]
      }
    },
    {
      "kind": "test-suite",
      "name": "test-quickcheck-generators",
      "tree": {
        "data": {
          "buildable": null,
          "exposedModules": [],
          "otherModules": [],
          "dependencies": [
            {
              "package": "base",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "QuickCheck",
              "range": "-any",
              "libraries": [
                "main"
              ]
            }
          ],
          "fields": {
            "type": [
              "exitcode-stdio-1.0"
            ]
          }
        },
        "branches": [
          {
            "condition": {
              "not": {
                "flag": "templatehaskell"
              }
            },
            "then": {
              "data": {
                "buildable": false,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          }
        ]
      }
    },
    {
      "kind": "test-suite",
      "name": "test-quickcheck-gshrink",
      "tree": {
        "data": {
          "buildable": null,
          "exposedModules": [],
          "otherModules": [],
          "dependencies": [
            {
              "package": "base",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "QuickCheck",
              "range": "-any",
              "libraries": [
                "main"
              ]
            }
          ],
          "fields": {
            "type": [
              "exitcode-stdio-1.0"
            ]
          }
        },
        "branches": [
          {
            "condition": {
              "not": {
                "flag": "templatehaskell"
              }
            },
            "then": {
              "data": {
                "buildable": false,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          }
        ]
      }
    },
    {
      "kind": "test-suite",
      "name": "test-quickcheck-terminal",
      "tree": {
        "data": {
          "buildable": null,
          "exposedModules": [],
          "otherModules": [],
          "dependencies": [
            {
              "package": "base",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "process",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "deepseq",
              "range": ">=1.1.0.0",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "QuickCheck",
              "range": "-any",
              "libraries": [
                "main"
              ]
            }
          ],
          "fields": {
            "type": [
              "exitcode-stdio-1.0"
            ]
          }
        },
        "branches": [
          {
            "condition": {
              "not": {
                "flag": "templatehaskell"
              }
            },
            "then": {
              "data": {
                "buildable": false,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          }
        ]
      }
    },
    {
      "kind": "test-suite",
      "name": "test-quickcheck-monadfix",
      "tree": {
        "data": {
          "buildable": null,
          "exposedModules": [],
          "otherModules": [],
          "dependencies": [
            {
              "package": "base",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "QuickCheck",
              "range": "-any",
              "libraries": [
                "main"
              ]
            }
          ],
          "fields": {
            "type": [
              "exitcode-stdio-1.0"
            ]
          }
        },
        "branches": [
          {
            "condition": {
              "not": {
                "flag": "templatehaskell"
              }
            },
            "then": {
              "data": {
                "buildable": false,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          }
        ]
      }
    },
    {
      "kind": "test-suite",
      "name": "test-quickcheck-split",
      "tree": {
        "data": {
          "buildable": null,
          "exposedModules": [],
          "otherModules": [],
          "dependencies": [
            {
              "package": "base",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "QuickCheck",
              "range": "-any",
              "libraries": [
                "main"
              ]
            }
          ],
          "fields": {
            "type": [
              "exitcode-stdio-1.0"
            ]
          }
        },
        "branches": [
          {
            "condition": {
              "compiler": "ghc",
              "range": ">=9.8"
            },
            "then": {
              "data": {
                "buildable": null,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          }
        ]
      }
    },
    {
      "kind": "test-suite",
      "name": "test-quickcheck-strictness",
      "tree": {
        "data": {
          "buildable": null,
          "exposedModules": [],
          "otherModules": [],
          "dependencies": [
            {
              "package": "base",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "QuickCheck",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "containers",
              "range": "-any",
              "libraries": [
                "main"
              ]
            }
          ],
          "fields": {
            "type": [
              "exitcode-stdio-1.0"
            ]
          }
        },
        "branches": [
          {
            "condition": {
              "not": {
                "flag": "templatehaskell"
              }
            },
            "then": {
              "data": {
                "buildable": false,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          }
        ]
      }
    },
    {
      "kind": "test-suite",
      "name": "test-quickcheck-misc",
      "tree": {
        "data": {
          "buildable": null,
          "exposedModules": [],
          "otherModules": [],
          "dependencies": [
            {
              "package": "base",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "QuickCheck",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "containers",
              "range": "-any",
              "libraries": [
                "main"
              ]
            }
          ],
          "fields": {
            "type": [
              "exitcode-stdio-1.0"
            ]
          }
        },
        "branches": [
          {
            "condition": {
              "not": {
                "flag": "templatehaskell"
              }
            },
            "then": {
              "data": {
                "buildable": false,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          }
        ]
      }
    },
    {
      "kind": "test-suite",
      "name": "test-quickcheck-discard",
      "tree": {
        "data": {
          "buildable": null,
          "exposedModules": [],
          "otherModules": [],
          "dependencies": [
            {
              "package": "base",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "QuickCheck",
              "range": "-any",
              "libraries": [
                "main"
              ]
            }
          ],
          "fields": {
            "type": [
              "exitcode-stdio-1.0"
            ]
          }
        },
        "branches": []
      }
    },
    {
      "kind": "test-suite",
      "name": "test-quickcheck-monoids",
      "tree": {
        "data": {
          "buildable": null,
          "exposedModules": [],
          "otherModules": [],
          "dependencies": [
            {
              "package": "base",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "QuickCheck",
              "range": "-any",
              "libraries": [
                "main"
              ]
            }
          ],
          "fields": {
            "type": [
              "exitcode-stdio-1.0"
            ]
          }
        },
        "branches": []
      }
    },
    {
      "kind": "test-suite",
      "name": "test-quickcheck-withprogress",
      "tree": {
        "data": {
          "buildable": null,
          "exposedModules": [],
          "otherModules": [],
          "dependencies": [
            {
              "package": "base",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "QuickCheck",
              "range": "-any",
              "libraries": [
                "main"
              ]
            }
          ],
          "fields": {
            "type": [
              "exitcode-stdio-1.0"
            ]
          }
        },
        "branches": []
      }
    },
    {
      "kind": "test-suite",
      "name": "test-quickcheck-instances",
      "tree": {
        "data": {
          "buildable": null,
          "exposedModules": [],
          "otherModules": [
            "CollectDataTypes"
          ],
          "dependencies": [
            {
              "package": "base",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "QuickCheck",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "transformers",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "split",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "process",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "template-haskell",
              "range": "-any",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "hint",
              "range": "-any",
              "libraries": [
                "main"
              ]
            }
          ],
          "fields": {
            "type": [
              "exitcode-stdio-1.0"
            ]
          }
        },
        "branches": [
          {
            "condition": {
              "or": [
                {
                  "not": {
                    "flag": "templatehaskell"
                  }
                },
                {
                  "compiler": "ghc",
                  "range": "<=8.10"
                }
              ]
            },
            "then": {
              "data": {
                "buildable": false,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          }
        ]
      }
    }
  ],
  "setupDependencies": [],
  "flags": [
    {
      "name": "templatehaskell",
      "default": true,
      "manual": true,
      "description": "Build Test.QuickCheck.All, which uses Template Haskell."
    },
    {
      "name": "old-random",
      "default": false,
      "manual": false,
      "description": "Build against a pre-1.2.0 version of the random package."
    }
  ],
  "sourceRepositories": [
    {
      "kind": "head",
      "fields": {
        "location": [
          "https://github.com/nick8325/quickcheck"
        ],
        "type": [
          "git"
        ]
      }
    },
    {
      "kind": "this",
      "fields": {
        "location": [
          "https://github.com/nick8325/quickcheck"
        ],
        "tag": [
          "2.18"
        ],
        "type": [
          "git"
        ]
      }
    }
  ],
  "warnings": [],
  "sourceUrl": "https://hackage.haskell.org/package/QuickCheck-2.18.0.0/QuickCheck.cabal",
  "sha256": "8da924b1009c9f1352ff367ab03345e36795958c7bb6c156aa460e3100753dfd",
  "importedAt": "2026-10-14T12:47:44.481Z",
  "dependencies": [
    {
      "package": "base",
      "range": ">=4.14 && <5",
      "libraries": [
        "main"
      ],
      "component": "library:main",
      "conditions": []
    },
    {
      "package": "containers",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "library:main",
      "conditions": []
    },
    {
      "package": "random",
      "range": ">=1.0.0.3 && <1.2.0",
      "libraries": [
        "main"
      ],
      "component": "library:main",
      "conditions": [
        {
          "flag": "old-random"
        }
      ]
    },
    {
      "package": "random",
      "range": ">=1.2.0 && <1.4",
      "libraries": [
        "main"
      ],
      "component": "library:main",
      "conditions": [
        {
          "not": {
            "flag": "old-random"
          }
        }
      ]
    },
    {
      "package": "splitmix",
      "range": ">=0.1.0.2 && <0.2",
      "libraries": [
        "main"
      ],
      "component": "library:main",
      "conditions": [
        {
          "not": {
            "compiler": "hugs",
            "range": "-any"
          }
        }
      ]
    },
    {
      "package": "transformers",
      "range": ">=0.3",
      "libraries": [
        "main"
      ],
      "component": "library:main",
      "conditions": [
        {
          "or": [
            {
              "compiler": "ghc",
              "range": "-any"
            },
            {
              "compiler": "mhs",
              "range": "-any"
            }
          ]
        }
      ]
    },
    {
      "package": "deepseq",
      "range": ">=1.1.0.0",
      "libraries": [
        "main"
      ],
      "component": "library:main",
      "conditions": [
        {
          "or": [
            {
              "compiler": "ghc",
              "range": "-any"
            },
            {
              "compiler": "mhs",
              "range": "-any"
            }
          ]
        }
      ]
    },
    {
      "package": "template-haskell",
      "range": ">=2.4",
      "libraries": [
        "main"
      ],
      "component": "library:main",
      "conditions": [
        {
          "and": [
            {
              "compiler": "ghc",
              "range": "-any"
            },
            {
              "flag": "templatehaskell"
            }
          ]
        }
      ]
    },
    {
      "package": "random",
      "range": ">=1.0.1.0",
      "libraries": [
        "main"
      ],
      "component": "library:main",
      "conditions": [
        {
          "compiler": "ghc",
          "range": "-any"
        }
      ]
    },
    {
      "package": "containers",
      "range": ">=0.4.2.1",
      "libraries": [
        "main"
      ],
      "component": "library:main",
      "conditions": [
        {
          "compiler": "ghc",
          "range": "-any"
        }
      ]
    },
    {
      "package": "data-array-byte",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "library:main",
      "conditions": [
        {
          "compiler": "ghc",
          "range": "<9.4"
        }
      ]
    },
    {
      "package": "base",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck",
      "conditions": []
    },
    {
      "package": "QuickCheck",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck",
      "conditions": []
    },
    {
      "package": "base",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-gcoarbitrary",
      "conditions": []
    },
    {
      "package": "QuickCheck",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-gcoarbitrary",
      "conditions": []
    },
    {
      "package": "base",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-generators",
      "conditions": []
    },
    {
      "package": "QuickCheck",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-generators",
      "conditions": []
    },
    {
      "package": "base",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-gshrink",
      "conditions": []
    },
    {
      "package": "QuickCheck",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-gshrink",
      "conditions": []
    },
    {
      "package": "base",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-terminal",
      "conditions": []
    },
    {
      "package": "process",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-terminal",
      "conditions": []
    },
    {
      "package": "deepseq",
      "range": ">=1.1.0.0",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-terminal",
      "conditions": []
    },
    {
      "package": "QuickCheck",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-terminal",
      "conditions": []
    },
    {
      "package": "base",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-monadfix",
      "conditions": []
    },
    {
      "package": "QuickCheck",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-monadfix",
      "conditions": []
    },
    {
      "package": "base",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-split",
      "conditions": []
    },
    {
      "package": "QuickCheck",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-split",
      "conditions": []
    },
    {
      "package": "base",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-strictness",
      "conditions": []
    },
    {
      "package": "QuickCheck",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-strictness",
      "conditions": []
    },
    {
      "package": "containers",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-strictness",
      "conditions": []
    },
    {
      "package": "base",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-misc",
      "conditions": []
    },
    {
      "package": "QuickCheck",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-misc",
      "conditions": []
    },
    {
      "package": "containers",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-misc",
      "conditions": []
    },
    {
      "package": "base",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-discard",
      "conditions": []
    },
    {
      "package": "QuickCheck",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-discard",
      "conditions": []
    },
    {
      "package": "base",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-monoids",
      "conditions": []
    },
    {
      "package": "QuickCheck",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-monoids",
      "conditions": []
    },
    {
      "package": "base",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-withprogress",
      "conditions": []
    },
    {
      "package": "QuickCheck",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-withprogress",
      "conditions": []
    },
    {
      "package": "base",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-instances",
      "conditions": []
    },
    {
      "package": "QuickCheck",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-instances",
      "conditions": []
    },
    {
      "package": "transformers",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-instances",
      "conditions": []
    },
    {
      "package": "split",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-instances",
      "conditions": []
    },
    {
      "package": "process",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-instances",
      "conditions": []
    },
    {
      "package": "template-haskell",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-instances",
      "conditions": []
    },
    {
      "package": "hint",
      "range": "-any",
      "libraries": [
        "main"
      ],
      "component": "test-suite:test-quickcheck-instances",
      "conditions": []
    }
  ],
  "exposedModules": [
    "Test.QuickCheck",
    "Test.QuickCheck.Compat",
    "Test.QuickCheck.Arbitrary",
    "Test.QuickCheck.Gen",
    "Test.QuickCheck.Gen.Unsafe",
    "Test.QuickCheck.Monadic",
    "Test.QuickCheck.Monoids",
    "Test.QuickCheck.Modifiers",
    "Test.QuickCheck.Property",
    "Test.QuickCheck.Test",
    "Test.QuickCheck.Text",
    "Test.QuickCheck.Poly",
    "Test.QuickCheck.State",
    "Test.QuickCheck.Random",
    "Test.QuickCheck.Exception",
    "Test.QuickCheck.Features",
    "Test.QuickCheck.Function",
    "Test.QuickCheck.All"
  ],
  "documents": {
    "readme": {
      "status": "available",
      "sha256": "7d50d6bfeb57adf25751881fb7af413ebc397034379423b61b0036ce68f5e33f",
      "error": null,
      "checkedAt": "2026-10-14T12:47:45.159Z"
    },
    "changelog": {
      "status": "available",
      "sha256": "6e482c6f62ed45fd8d71f8dca85211d2856b7db27ced2735c46b7eb706b213fb",
      "error": null,
      "checkedAt": "2026-10-14T12:47:45.439Z"
    }
  },
  "documentation": {
    "id": "6994821a6ed4123c8750692987b0af0b6cfca22cf424531ad64c25ee90e3fef4",
    "plan_id": "ed47fe9165c15415bdaae016ff51d497ca939b89456097e6316260e6a6919d19",
    "provenance": "community",
    "diagnostics": 30,
    "created_at": 1791983642
  },
  "versions": [
    {
      "version": "2.18.0.0",
      "imported_at": "2026-10-14T12:47:44.481Z"
    }
  ]
}

Import a package

Enter a package name and an exact version from Hackage. The site contains imported versions only.