Visitar URL original
The "Hacking Agenda" · Issue #428 · nick8325/quickcheck · GitHub
Skip to content

The "Hacking Agenda" #428

Open
Open

Description

@MaximilianAlgehed

Involving @koengit @nick8325 @UlfNorell and @Rewbert:

Instances

  • Arbitrary instances for everything in base (and other qc dependencies)
  • Super clever TH magic to find all the types and generate properties
    • Enumerate all modules in base and get all the data types
    • Minimal: type check arbitrary @TheType
    • Better: Monomorphise and generate a properties to test the arbitrary instance
    • Manually exclude modules/types (to avoid writing clever rules for which
      types to support)
  • See CollectDataTypes.hs and RunCollectDataTypes.hs.

Parallel fork

  • Robert gives a nice presentation of what's going on

  • We should decide on some design principles:

    • we care only about locally minimal counterexamples
    • we want the features module
    • we don't care about parallel quickcheck exploring sizes
      deterministically
    • we do care about sizes being explored in order small to big

API for test runners

  • Tasty and HSpec install their own callbacks
    • Can we make PRs for them using Robert's new API?
    • Robert has the code, but needs some version juggling to work with different
      versions of QuickCheck.

Cleanup

  • Drop ghc 7 support
  • Clean up flag mess in cabal file
  • Add MicroHs support
    • Lennart: "needs random numbers, this is hard!"

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions