qcheck
qcheck copied to clipboard
Add sig expander to qcheck2
This PR adds support for the [@@deriving qcheck2]
construct in signatures (such as in *.mli
files).
For a motivating example, see here.
Thank you!
Thanks @jmid for your review!
Looking back, I'm not sure why I left the deriving_inline
construct here. I used it to track generated code while working on the PR, but I've since learned about dune show pp path/to/file.ml
. This construct isn't tied to this PR, so I've removed it.
You pointed out parametrized types and Gen.option, which I hadn't thought of. I need to study these more, so I'm changing the PR to a draft. Thanks again!
Finally, for symmetry I would have liked to see QCheck(1) support too, but I think this is too much to require. If you can get QCheck2 to work, I may take a stab at that afterwards.
Would you mind telling me a bit about the relationship between QCheck(1) and QCheck(2)? I naively thought maybe 2 is 1's successor, and 1 is deprecated. But witnessing your willingness to upgrade (1) now I'm thinking maybe there is more to it.
In #281 there's a reasonable explanation of the QCheck / QCheck2 relation, incl. additional pointers.
Hello,
I wanted to provide an update regarding supporting the [@@deriving qcheck2] construct in signatures.
After further consideration and exploration of my project requirements, I've decided to take a different approach that doesn't necessitate this feature. As such, I find it difficult to justify the time needed to address the issues you've pointed out and complete the implementation.
I regret not being able to finish the work I started and I apologize for any inconvenience this may cause. I want to express my gratitude for the valuable feedback and insights you've provided during our discussions. I am hopeful this information will be beneficial if anyone picks up this project in the future.
I'm now inclined to close this PR. Perhaps we could turn it into an open issue instead? I hope this decision is understandable and I look forward to potential collaborations in the future.
Thank you for your time and understanding.