{"id":16661423,"url":"https://github.com/bodigrim/smallcheck","last_synced_at":"2025-12-11T23:18:44.858Z","repository":{"id":1874143,"uuid":"2799461","full_name":"Bodigrim/smallcheck","owner":"Bodigrim","description":"Test your Haskell code by exhaustively checking its properties","archived":false,"fork":false,"pushed_at":"2025-07-25T22:26:29.000Z","size":325,"stargazers_count":136,"open_issues_count":1,"forks_count":16,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-09-27T02:51:18.669Z","etag":null,"topics":["property-based-testing","property-testing","smallcheck","testing"],"latest_commit_sha":null,"homepage":"https://hackage.haskell.org/package/smallcheck","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"damienbod/AspNet5SQLite","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bodigrim.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2011-11-17T23:36:20.000Z","updated_at":"2025-07-25T22:26:33.000Z","dependencies_parsed_at":"2023-07-06T07:27:44.843Z","dependency_job_id":null,"html_url":"https://github.com/Bodigrim/smallcheck","commit_stats":{"total_commits":305,"total_committers":6,"mean_commits":"50.833333333333336","dds":0.1573770491803279,"last_synced_commit":"2c8e1f388f0d797b13568e584a358ed60cad6c77"},"previous_names":["feuerbach/smallcheck"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/Bodigrim/smallcheck","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bodigrim%2Fsmallcheck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bodigrim%2Fsmallcheck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bodigrim%2Fsmallcheck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bodigrim%2Fsmallcheck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bodigrim","download_url":"https://codeload.github.com/Bodigrim/smallcheck/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bodigrim%2Fsmallcheck/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278272487,"owners_count":25959579,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["property-based-testing","property-testing","smallcheck","testing"],"created_at":"2024-10-12T10:34:58.069Z","updated_at":"2025-10-04T06:07:16.478Z","avatar_url":"https://github.com/Bodigrim.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"SmallCheck: a property-based testing library for Haskell\n========================================================\n\n**As of 2023, this library is largely obsolete: arbitrary test generators\nwith shrinking such as [`falsify`](https://hackage.haskell.org/package/falsify)\noffer much better user experience.**\n\nSmallCheck is a testing library that allows to verify properties for all test\ncases up to some depth. The test cases are generated automatically by\nSmallCheck.\n\nUsefulness of such an approach to testing is based on the following observation:\n\n\u003e If a program fails to meet its specification in some cases, it almost always\n\u003e fails in some simple case.\n\nIn many ways SmallCheck is very similar to QuickCheck. It uses the idea of type-based generators for test data, and the way testable properties are expressed is closely based on the QuickCheck approach. Like QuickCheck, SmallCheck tests whether properties hold for finite completely defined values at specific types, and reports counter-examples.\n\nThe big difference is that instead of using a sample of randomly generated values, SmallCheck tests properties for all the finitely many values up to some depth, progressively increasing the depth used. For data values, depth means depth of construction. For functional values, it is a measure combining the depth to which arguments may be evaluated and the depth of possible results.\n\nThe package is based on the [paper](http://www.cs.york.ac.uk/fp/smallcheck/smallcheck.pdf)\nby Colin Runciman, Matthew Naylor and Fredrik Lindblad.\n\nSee the [blog post](https://ro-che.info/articles/2018-05-25-quickcheck-vs-smallcheck) by Roman Cheplyaka for the detailed comparison to QuickCheck.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbodigrim%2Fsmallcheck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbodigrim%2Fsmallcheck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbodigrim%2Fsmallcheck/lists"}