algebra
algebra copied to clipboard
constructive abstract algebra
It suffices to assume `ZeroProductSemiring` (ie the semiring variant of `Domain`). Then `Natural` can be given a `Euclidean` instance. Possibly doable by splitting `Euclidean` into `EuclideanSemiring` containing the functions and...
The only sort of norm defined is `Quadrance`, and its name makes it seem like it should satisfy the parallelogram identity and so define an inner product. It would be...
A group is only a Z-module when the group is abelian, as you need `(x*y)^2 == x^2 * y^2`. However, `ZeroRng` has `instance Group r => LeftModule Integer (ZeroRng r)`....
This started with problems I was having with the "instance (Additive m) => LeftModule () m" instance. Since what I'm trying to create is coordinate systems, I'd like to be...
I tried to make Data.Map a vector space, but I found that the Left/RightModule Natural/Integer v superclass constraint of Monoidal/Group meant that I had to declare several incoherent instances. Hence...
due to the use of `ConstraintKinds` which are only available starting with GHC 7.4 (maybe add a `base >= 4.5` constraint to future releases)
We spoke on IRC the other day about adding a newtype to represent the multiplicative group of a field. I've since generalized this slightly to separate `Additively` and `Units` types,...
algebra depends on representable-functors (which you deprecated), and this leads to dependency hell: Currently, with ghc 7.8.2, - `cabal install algebra` only finds a plan involving array-0.4.0.1, which apparently gives...
In particular, algebra uses the Control.Categorical.\* namespace.