The modular-arithmetic package

[Tags:bsd3, library, test]

A convenient type for working with integers modulo some constant. It saves you from manually wrapping numeric operations all over the place and prevents a range of simple mistakes. Integer Mod 7 is the type of integers (mod 7) backed by Integer. We also have some cute syntax for these types like ℤ/7 for integers modulo 7.

[Skip to Readme]


Change log
Dependencies base (>=4.7 && <5) [details]
License BSD3
Author Tikhon Jelvis <>
Maintainer Tikhon Jelvis <>
Stability Unknown
Category Math
Home page
Bug tracker
Source repository head: git clone git://
Uploaded Sat Jan 7 02:45:26 UTC 2017 by TikhonJelvis
Distributions NixOS:
Downloads 1682 total (22 in the last 30 days)
1 []
Status Docs available [build log]
Last success reported on 2017-01-07 [all 1 reports]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for modular-arithmetic

Readme for modular-arithmetic-

Modular Arithmetic

Hackage package Build Status

This package provides a type for integers modulo some constant, usually written as ℤ/n.

Here is a quick example:

>>> 10 * 11 :: ℤ/7

It also works correctly with negative numeric literals:

>>> (-10) * 11 :: ℤ/7

Modular division is an inverse of modular multiplication. It is defined when divisor is coprime to modulus:

>>> 7 `div` 3 :: ℤ/16
>>> 3 * 13 :: ℤ/16