qcheck icon indicating copy to clipboard operation
qcheck copied to clipboard

Add sig expander to qcheck2

Open mbarbin opened this issue 1 year ago • 3 comments

This PR adds support for the [@@deriving qcheck2] construct in signatures (such as in *.mli files).

For a motivating example, see here.

Thank you!

mbarbin avatar Jan 20 '24 15:01 mbarbin

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!

mbarbin avatar Feb 29 '24 16:02 mbarbin

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.

mbarbin avatar Feb 29 '24 18:02 mbarbin

In #281 there's a reasonable explanation of the QCheck / QCheck2 relation, incl. additional pointers.

jmid avatar Feb 29 '24 21:02 jmid

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.

mbarbin avatar May 31 '24 15:05 mbarbin