AbstractPPL v0.12.0
Breaking changes
VarName constructors
Removed the constructors VarName(vn, optic)
(this wasn't deprecated, but was dangerous as it would silently discard the existing optic in vn
), and VarName(vn, ::Tuple)
(which was deprecated).
Usage of VarName(vn, optic)
can be directly replaced with VarName{getsym(vn)}(optic)
.
Other changes
Optic normalisation
In the inner constructor of a VarName, its optic is now normalised to ensure that the associativity of ComposedFunction is always the same, and that compositions with identity are removed.
This helps to prevent subtle bugs where VarNames with semantically equal optics are not considered equal.
Merged pull requests:
- Normalise optics when constructing VarName; remove extra constructors (#123) (@penelopeysm)
Closed issues: