Remove Arbitrary?

Open
#65 17 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
12/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Domain
testing

Research direction

Read the discussion in issue #63 and this issue's comments to understand the arguments around removing Arbitrary, deriving generators with generic-rep, and CoArbitrary. No implementation files or tests are named; first establish whether the discussion has reached a decision. Done means a settled design for how generator derivation and CoArbitrary should work.

Written by the indexing model from the issue text.

Description

purs-0.15 type: breaking change

I'm adding this to track the discussion going on in #63.

The argument for removing Arbitrary is that instances are almost never canonical, so we almost always end up needing newtypes.

A possible downside is that we'd still need a class like Arbitrary if we want to derive generators using generic-rep. That means that we'd need some way to reflect a Gen as an instance, or we're back to Arbitrary instances anyway. CoArbitrary is also much nicer with type classes.

Dominant language
PureScript
Stars
108
Forks
42
Avg merge
2d 23h
Merged PRs (30d)
1

Getting set up

  • No Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from purescript/purescript-quickcheck

All issues in purescript/purescript-quickcheck

Similar issues

More Testing & QA issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.