Constructive abstract algebra

Latest on Hackage:4.3

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow to host generated Haddocks.

BSD3 licensed by Edward A. Kmett
Maintained by Edward A. Kmett


Hackage Build Status

This is a package for exploring constructive abstract algebra in Haskell.

Contact Information

Contributions and bug reports are welcome!

Please feel free to contact me through github or on the #haskell IRC channel on

-Edward Kmett



  • Compatibility with GHC 8.0.x
  • Dropped incomplete instance for Algebra r (Map a b) instance
  • Restructured Ring hierarchy (Thanks @dfoxfranke!)
  • Added DecidableNilpotence class (Thanks @dfoxfranke!)


  • Support for nats version 1 and base 4.8's version of Numeric.Natural. This required monomorphizing some stuff to Natural, but that is more accurate than the previous hack anyways.


  • Added Euclidean domains and the field of fractions.


  • Compatibility with GHC 7.8.x
  • Removed keyed and representable-tries dependencies


  • Started CHANGELOG
comments powered byDisqus