The spire project is a dependency of Axle. spire.algebra defines typeclasses for Monoid, Group, Ring, Field, VectorSpace, etc, and witnesses for many common numeric types as well as those defined in spire.math

The axle.algebra package defines several categories of typeclasses:

  • higher-kinded: Functor, Finite, Indexed, Aggregatable
  • mathematical: LinearAlgebra, LengthSpace
  • visualization: Tics, Plottable

Axioms are defined in the axle.algebra.laws package as ScalaCheck properties.

They are organized with Discipline.