vincent-hugot / qtest

Inline (Unit) Tests for OCaml
GNU General Public License v3.0
67 stars 8 forks source link

Improvements to the code #18

Closed c-cube closed 8 years ago

c-cube commented 8 years ago

I've started refactoring the code, eliminating warnings, getting closer to -safe-string compatibility, and started adding doc (I missed (*$inject and discovered it by reading the lexer...). Could the doc, maybe, be written in something like markdown or asciidoc rather than LaTeX?

I'm planning to change the API of the quickcheck library to make it more powerful and closer to the original QuickCheck (shrinking, etc.). I read that a qtest 3 was not impossible in principle, so I want to change 'a gen_print into an object with a generator and several optional methods for printing, shrinking, etc.

Do those more ambitious changes have a change to be merged?

vincent-hugot commented 8 years ago

Hello,

Thanks for the quick fixes.

Yes, more ambitious changes have a good chance to be merged; but anything that breaks compatibility for users of the current version would have to go in a new qtest3 folder as a new, separate, full-fledged version.

Could the doc, maybe, be written in something like markdown or asciidoc rather than LaTeX?

I'm not volunteering for the transition of the existing doc; and don't see what would be gained by that.

c-cube commented 8 years ago

About the doc, well, writing LaTeX only to compile it to html seems overly complicated to me. I do think markdown is simpler. Anyway, the first thing to do on documentation is filling the blanks, I discovered (*$inject by chance!

The "ambitious changes" I'm talking about would be:

I don't think any of those changes is deeply breaking: a simple use of (*$Q will use the same combinators. However, if people defined their own combinators some corner cases would probably change. Anyway, the current branch already contains the slightly-breaking "replace Random with Random.State".

What do you think?

edit: cf #19