stedolan / crowbar

Property fuzzing for OCaml
MIT License
183 stars 28 forks source link

API changes #5

Closed stedolan closed 6 years ago

stedolan commented 7 years ago

Makes Crowbar.gen an abstract type, using Lazy instead of constructors to handle recursive generators.

(the implementation in crowbar.ml should definitely be refactored, but I want to discuss the API first. see #3)

@yomimono opinions? this will break your charrua-core tests, but the fix is mostly changing uppercase to lowercase.

yomimono commented 7 years ago

Opinion: seems good.

yallop commented 7 years ago

This looks good to me, too.

gasche commented 7 years ago

This looks good, but note that as long as you don't expose other constructors to embed generators provided in a different way (as bitstream-readers for example), you don't gain much flexibility over your datatype interface (which could also be made more open-ended by adding a foreign-generator constructor), which I think was one of the central points of #3.