acme-one

The identity element of package dependencies

https://github.com/ion1/acme-zero-one

Latest on Hackage:0.0.2

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 stackage.org to host generated Haddocks.

LicenseRef-PublicDomain licensed and maintained by Johan Kiviniemi

Cabal package dependencies form a commutative monoid with an absorbing element. They satisfy the following axioms:

Associativity

For all dependencies a, b and c,

(a , b) , c = a , (b , c)

In fact, the Cabal syntax does not even allow you to use the parentheses for this reason.

Commutativity

For all dependencies a and b,

a , b = b , a
Identity element

For all dependencies a,

acme-one , a = a
a , acme-one = a

Depending on acme-one has no additional effect.

Absorbing element

For all dependencies a,

acme-zero , a = acme-zero
a , acme-zero = acme-zero

Depending on acme-zero in addition has the same effect as only depending on acme-zero.