# 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
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.

Versions [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 Sun Jun 21 23:21:52 UTC 2015 NixOS:0.0.2 911 total (21 in the last 30 days) (no votes yet) [estimated by rule of succession] λ λ λ Docs not available Last success reported on 2016-10-26

#### Maintainer's Corner

For package maintainers and hackage trustees

[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
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.