Changelog for quickcheck-dynamic-3.0.0
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
As a minor extension, we also keep a semantic version for the UNRELEASED
changes.
UNRELEASED
3.0.0 - 2023-02-14
- BREAKING: Add
HasVariablesclass to keep track of symbolic variables and automatically insert precondition checks for well-scopedness of variables. - BREAKING: Remove some unnecessary and unusead features in dynamic logic, including re-running tests from a counterexample directly.
- Improved printing of counterexamples in DL - they are now printed as code that can be copied more-or-less verbatim to create a runnable counterexample in code.
- Made the variable context explicit to avoid having to keep track of symbolic variables in the model
- This introduces the
ctxAtTypeandarbitraryVarfunctions to use in action generators (c.f. theRegistryModel.hsexample).
- This introduces the
2.0.0 - 2022-10-11
- BREAKING: Add
Realizedtype family to distinguish between the model- and real type of an action - BREAKING: Introduce
RunModeltype class to interpret Model-generated sequence of actions against real-world implementation- Move
performmethod fromStateModelto this new type-class - Also split
postconditionandmonitoringout from theStateModelto theRunModeltype class
- Move
- Added Thread registry example based on io-sim concurrency simulation library
1.1.0 - 2022-08-27
- Fix broken links in Hackage-generated documentation and link to other Quviq papers
- Add
Show aconstraint onmonitoring
1.0.0
- Initial publication of quickcheck-dynamic library on Hackage
- Provide base
StateModelandDynamicLogictools to write quickcheck-based models, express properties, and test them