Skip to content
Generate realistic looking fake data
Branch: master
Clone or download
Latest commit f117f8f Jan 12, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Break up names into smaller lists Apr 20, 2018
test More last names, export lists Apr 3, 2018
.gitignore Update gitignore Jan 12, 2019
.travis.yml Update travis Jan 12, 2019 Update changelog Apr 18, 2018
LICENSE Fixup cabal file, add travis Mar 14, 2018 README grammar fixes Mar 19, 2018
default.nix Bump bounds on base and time, add default.nix Feb 24, 2018


Build Status

Fake is a Haskell package for generating realistic-looking fake data.


The package has three main components:

  1. Analogs to QuickCheck's Arbitrary and Gen that use realistic probability distributions rather than the more uniform distributions used by QuickCheck.
  2. A generic coverage function that generates full constructor coverage over a data type.
  3. A suite of providers for common types of data such as names, addresses, phone numbers, ID numbers, etc.

Fake's gcover function is particularly useful with the armor package for ensuring that all constructors of your data types are tested for backwards compatible serializations without having to write all the values yourself. This allows you to get higher confidence that you have covered most of the important cases without the combinatorial explosion of exhaustive testing.


Original inspiration came from the production needs of Formation (previously Takt).

Providers and other details were inspired by similar packages in Python and Ruby.

You can’t perform that action at this time.