dragen: Automatic derivation of optimized QuickCheck random generators.

[ bsd3, library, testing ] [ Propose Tags ]

DRAGEN is a Template Haskell tool for automatically deriving QuickCheck generators in compile-time. The user sets a desired distribution of values, and DRAGEN will try optimize the generation parameters to satisfy it using probabilistic analyses based on multi-type branching processes. DRAGEN is based on the following paper Branching processes for QuickCheck generators. Agustín Mista, Alejandro Russo, John Hughes. Haskell Symposium, 2018. https://dl.acm.org/citation.cfm?doid=3242744.3242747


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0
Dependencies base (>=4.7 && <5), containers (>=0.5.11.0 && <0.6), extra (>=1.6.9 && <1.7), ghc-prim (>=0.5.2.0 && <0.6), matrix (>=0.3.6.1 && <0.4), QuickCheck (>=2.11.3 && <2.12), split (>=0.2.3.3 && <0.3), template-haskell (>=2.13.0.0 && <2.14), transformers (>=0.5.5.0 && <0.6) [details]
License BSD-3-Clause
Copyright 2018 Agustín Mista
Author Agustín Mista
Maintainer Agustín Mista
Category Testing
Home page https://github.com/OctopiChalmers/dragen#readme
Bug tracker https://github.com/OctopiChalmers/dragen/issues
Source repo head: git clone https://github.com/OctopiChalmers/dragen
Uploaded by agustinmista at 2018-10-19T07:57:35Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 685 total (5 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-10-19 [all 1 reports]

Readme for dragen-0.1.0.0

[back to package description]

DRAGEN - Derivation of Random Generators

To test the tool please run:

$ stack setup
$ stack build
$ stack test

Please make sure you have BLAS and LAPACK installed in your system before compiling.

The predictions can be confirmed averaging a large set of generated values. See file test/Examples.hs for an example of this.