Skip to content

Conversation

MatthewDaggitt
Copy link
Contributor

This is the first stage of deprecating the Algebra.Operations.X modules (where X is some bundle) which currently scale poorly as more operations are added and are implemented very inconsistently:

  • some contain operation definitions, some also contain proofs.
  • some are parameterised by the raw bundle, some by a standard bundle.

The new design is Algebra.Properties.X.Y (where X is some bundle and Y is some operation). This separates individual operations out, improving modularity and inheritance of properties from different bundles in the hierarchy.

This initial PR handles the CommutativeMonoid bundle. As well as implementing the changes described above, it also switches over to using Data.Vec.Functional for summations instead of the deprecated Data.Table, which should go someway to unsticking #1287.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant