# acme-one: The identity element of package dependencies

[ acme, library, public-domain ] [ Propose Tags ]

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 , acme-one = a


Depending on acme-one has no additional effect.

Absorbing element

For all dependencies a,

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


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

Versions [RSS] [faq] 0.0.1, 0.0.2 None [details] LicenseRef-PublicDomain Johan Kiviniemi Johan Kiviniemi ACME https://github.com/ion1/acme-zero-one https://github.com/ion1/acme-zero-one/issues head: git clone https://github.com/ion1/acme-zero-one.git by ion at 2015-06-21T20:56:07Z NixOS:0.0.2 1648 total (13 in the last 30 days) (no votes yet) [estimated by Bayesian average] λ λ λ Docs not available Last success reported on 2016-12-08

#### Maintainer's Corner

For package maintainers and hackage trustees

Candidates

[back to package description]

# acme-zero and acme-one

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 , acme-one = a


Depending on acme-one has no additional effect.

• Absorbing element

For all dependencies a,

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


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