I looked a bit into the Z3 tutorial and thought the examples from there might make some good tests for us. So I added a few of them. I tried quite a few more, but sometimes failed because examples use features that are either not accessible through the API or result in slightly different behavior.
During this process I made some minor improvements in both Z3.Base and Z3.Monad:
Removed an unused integer parameter from the API of mkSeqConcat. I presume this was used as the length of arguments in an earlier version, but marshalArrayLen takes care of that.
I looked a bit into the Z3 tutorial and thought the examples from there might make some good tests for us. So I added a few of them. I tried quite a few more, but sometimes failed because examples use features that are either not accessible through the API or result in slightly different behavior.
During this process I made some minor improvements in both
Z3.Base
andZ3.Monad
:Added
repeatTactic
,applyResultToString
,goalToString
Removed an unused integer parameter from the API of
mkSeqConcat
. I presume this was used as the length of arguments in an earlier version, butmarshalArrayLen
takes care of that.