Changelog for hasmtlib-2.2.0
Changelog
All notable changes to the hasmtlib library will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to PVP versioning.
v2.2.0 (2024-08-09)
Added
- Added multiple basic instances for
Equatable,Orderable,Iteable,Variable&Codec
Changed
- (breaking change)
Variable&Codecnow ship with aGenericdefault implementation instead of relying onApplicative. This will break your instances if the type does not have an instance forGeneric.
v2.1.0 (2024-07-26)
Added
- Added solver Bitwuzla
- Added debugging capabilities for
Pipeby introducingdebugInteractiveWith
Changed
- Yices now uses flag
--incrementalby default - (breaking change) Removed functional dependency
m -> sfromMonadIncrSMT s m. This forces you to specify the underlying state when usinginteractiveWith. ThereforeinteractiveWith cvc5Living $ do ...now becomesinteractiveWith @Pipe cvc5Living $ do .... - (breaking change) Removed
newtype ProcessSolverand replaced it with underlyingSMTLIB.Backends.Process.Config. This may only affect you if you instantiated custom solvers.
v2.0.1 (2024-07-23)
Added
- Added more documentation
Changed
(<==>)now hasinfixr 4(<==)now hasinfixl 0
v2.0.0 (2024-07-23)
Added
- Arithmetic functions:
isIntSort,toIntSort&toRealSort - Asserting maybe-formulas:
assertMaybe :: MonadSMT s m => Maybe (Expr BoolSort) -> m () - Logical equivalence
(<==>)& reverse logical implication(<==) - Solvers: OpenSMT, OptiMathSAT
- Iterative refinement optimizations utilizing incremental stack
- Custom solver options via
Custom String String :: SMTOption - Optimization Modulo Theories (OMT) / MaxSMT support with:
minimize,maximize&assertSoft
Changed
- (breaking change) The functions
solveranddebugwhich createSolvers fromProcessSolvers are polymorph in the statesnow. This requires you to annotate the mentioned functions with the targetted state. These areSMTandOMT. For example,solverWith (solver cvc5) $ do ...becomessolverWith (solver @SMT cvc5) $ do .... - Prefix
xornow has aninfix 4
v1.3.1 (2024-07-12)
Added
- Added
countinLanguage.Hasmtlib.Counting
v1.3.0 (2024-07-12)
Added
- Added cardinality constraints with
Language.Hasmtlib.Counting
v1.2.0 (2024-07-11)
Added
- Added n-ary comparisons
distinct&equal
Changed
- (breaking change) When using
interactiveWiththeSMTOptionIncrementalis no longer set by default anymore
v1.1.2 (2024-07-02)
Changed
- Minor internal changes
v1.1.1 (2024-06-25)
Added
- Added this
CHANGELOG.mdfile
v1.1.0 (2024-06-21)
Added
- Added
ArraySortand full support for its SMTLib2 standard specification