c-cube / qcheck

QuickCheck inspired property-based testing for OCaml.
https://c-cube.github.io/qcheck/
BSD 2-Clause "Simplified" License
344 stars 37 forks source link

Simplify/merge function modules #124

Open sir4ur0n opened 3 years ago

sir4ur0n commented 3 years ago

Currently there are at least 4 modules related to function generation

While there may be room for reuse of Tuple for other things (e.g. for curried functions) I think it's too much unnecessary burden to read and grasp through 4 modules to get one feature (function generator)

Note also that if Tuple remains standalone (e.g. for curried functions) then I think Observable related stuff like obs and o_nil need to be removed/moved somewhere else.

I don't have a clear view of what's ideal, but I suspect the API can be improved for users

c-cube commented 3 years ago

The API is definitely streamlinable, I hope it can be done once we have integrated shrinking ready :)

c-cube commented 3 years ago

I think this is done in #110 and later?

sir4ur0n commented 3 years ago

No, I kept all existing modules, so the UX problem remains I think