-
Stop defining
Group
;Group
from thegroups
package can be used instead.Most of the instances are provided by
groups
, except theGroup MonoidalMap
instance, which is not lawful.reflex
might provide it as an orphan for backwards compat, temporarily, but it should eventually be removed everywhere. -
Add support for GHC 9.8 and 9.10
-
Replace partial
Map.lookup
with proper custom error for internal error. (This would make debugging a bug in the implementation easier.)
- Add support for GHC 9.6
- Add support for GHC 9.2 and 9.4
- Drop support for GHC 8.0 and 8.2. It may still be possible to use this library with those versions of GHC, but we do not guarantee or test it anymore.
- Fix an issue where (<>) crashed for some
PatchMapWithPatchingMove
s. - Change
DecidablyEmpty
forSum
andProduct
to useNum
andEq
rather than delegating to the argument type'sDecidablyEmpty
class. SinceSum
andProduct
haveMonoid
actions and units that are inherently based onNum
, it makes sense to have aDecidablyEmpty
instances that inherently agree with that. Also, sinceInt
and other numeric types don't have (and can't reasonably have)DecidablyEmpty
instances, this is necessary to make them actually usable in this context.
- Use
commutative-semigroups
forCommutative
, makingAdditive
a deprecated alias.
-
Add
PatchOrReplacement
, patch which either is some other patch type or a new replacement value. -
Support GHC 9.2
-
Correct field order of
PatchMapWithMove.NodeInfo
.When we this was reimplemented as a pattern synonym wrapper in 0.0.5.0, we accidentally flipped the argument order. Reversing it now to match 0.0.4.0 and restore compatibility. The previous releases in the 0.0.5.* series will correspondingly be deprecated.
- New dep of
base-orphans
for old GHC to get instances honestly instead of viamonoidal-containers
.
-
Additive
now lives inData.Semigroup.Additive
, but is still reexported fromData.Patch
for compatability. -
Rewrite
PatchMapWithMove
in terms ofPatchMapWithPatchingMove
. Care is taken to make this not a breaking change. In particular,PatchMapWithMove
is a newtype ofPatchMapWithPatchingMove
, as is theNodeInfo
andFrom
ofPatchMapWithPatchingMove
's versions of those. There are complete constructor and field patterns too, and everything is exported under the newtype as real constructors and fields would be.
- Enable PolyKinds
- Update version bounds
- Replace
fromJust
with something easier to debug.
-
Create
PatchMapWithPatchingMove
variant which supports moves with a patch. -
Create
DecidablyEmpty
subclass ofMonoid
.
-
Consistently provide:
-
Wrapped
instances -
*WithIndex
instances -
un*
newtype unwrappers
for
PatchMap
,PatchIntMap
, andPatchMapWithMove
. -
-
Support older GHCs with
split-these
flag. -
Additional instances for the
Group
class for basic types.
- Remove unneeded dependencies
- Extract patching functionality from Reflex.