summaryrefslogtreecommitdiff
blob: ee4df2a73e2cfc2b58dab868e1687a074f600088 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
	<maintainer type="project">
		<email>haskell@gentoo.org</email>
		<name>Gentoo Haskell</name>
	</maintainer>
	<use>
		<flag name="hashable">
			Enisable the use of the `hashable` package. Disabling this may be useful
			for accelerating builds in sandboxes for expert users.
			Note: `-hashable` implies `-unordered-containers`, as we are necessarily
			not able to supply those instances as well.
		</flag>
		<flag name="containers">
			Enable the use of the `containers` package. Disabling this may be useful
			for accelerating builds in sandboxes for expert users.
		</flag>
		<flag name="unordered-containers">
			Enable the use of the `unordered-containers` package. Disabling this may
			be useful for accelerating builds in sandboxes for expert users.
		</flag>
	</use>
	<longdescription>
		Haskellers are usually familiar with monoids and semigroups. A monoid has an appending operation `&lt;&gt;` (or `mappend`),
		and an identity element, `mempty`. A semigroup has an appending `&lt;&gt;` operation, but does not require a `mempty` element.
		
		A Semiring has two appending operations, `plus` and `times`, and two respective identity elements, `zero` and `one`.
		
		More formally, a Semiring R is a set equipped with two binary relations `+` and `*`, such that:
		
		(R,+) is a commutative monoid with identity element 0,
		
		(R,*) is a monoid with identity element 1,
		
		(*) left and right distributes over addition, and
		
		multiplication by '0' annihilates R.
	</longdescription>
</pkgmetadata>