-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Varray example #183
Varray example #183
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is nice, well done! (I confess I didn’t review the generated tests :-).
I’ve pushed on my varray-bis
branch a fix for a couple of typos in the README. (By the way, I wondered at what width you split lines, so I didn’t reformat after editing, but you probably should).
A couple of small suggestions for the specs.
- Calling the helper function
valid
is ambiguous to me (especially as it is documented as checking whether an index is valid :-). As it is only used in one function specification, I would simply inline it there. - In
sub
(examples/varray_sig.ml
at line 318), you prohibitn=0
: why? Same thing inblit
. This is allowed infill
, for instance, where the informal documentation is stating the same constraint. - In
fill
, I was surprised theensures
was not reversed, ieif pos <= i < pos+len then proj x else ...
, as a more direct formalisation of the informal documentation. But it might be the purpose, of rewriting it in another way to avoid repeating the same mistake?
Waiting for varray.0.2 so that minimal version for |
Specifications are in a `ml` file, extraction is done with an awk script for two different instatiations of the Functor.
CI failure seems unrelated. I merge. |
This PR add the varray example.
It is bassed on the not yet merged #177, please consider only the two last commits.
There were four challenges, of different importance:
ml
file and Gospel does not readml
file. The proposed solution/workaround is to extract the content of the module signature we are interested in.sequence
type is not that easy (it is very possible that review reveals some off-by-one mistakes!)qcheck-stm
cli #181.