A bit over four years after the 0.1 initial release, monoid-subclasses-1.0 has been released. There are some slight backward compatibility breaks. Most significantly, some of the subclasses of Monoid
have become subclasses of Semigroup
instead. There are constraint synonyms in place for the old classes, so most client code should continue to work. I’m planning to deprecate the constraint synonyms with version 1.1.
Among other news, the new monoid subclass Monus
has been introduced, together with its superclass OverlappingGCDMonoid that works for non-Abelian monoids.
Have fun!