Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate Algebra.Operations.CommutativeMonoid #1351

Merged
merged 3 commits into from
Nov 16, 2020

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