-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathsemirings.cabal
89 lines (80 loc) · 2.45 KB
/
semirings.cabal
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
name: semirings
category: Algebra, Data, Data Structures, Math, Maths, Mathematics
version: 0.7
license: BSD3
cabal-version: >= 1.10
license-file: LICENSE
author: chessai
maintainer: chessai <[email protected]>
stability: provisional
homepage: http://github.com/chessai/semirings
bug-reports: http://github.com/chessai/semirings/issues
copyright: Copyright (C) 2018 chessai
synopsis: two monoids as one, in holy haskimony
description:
Haskellers are usually familiar with monoids and semigroups. A monoid has an appending operation `<>` (or `mappend`),
and an identity element, `mempty`. A semigroup has an appending `<>` 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.
build-type: Simple
extra-source-files: README.md CHANGELOG.md
tested-with:
GHC == 8.0
GHC == 8.2
GHC == 8.4
GHC == 8.6
GHC == 8.8
GHC == 8.10
GHC == 9.0
GHC == 9.2
GHC == 9.4
GHC == 9.6
source-repository head
type: git
location: git://github.com/chessai/semirings.git
flag containers
description:
You can disable the use of the `containers` package using `-f-containers`.
.
Disabling this may be useful for accelerating builds in sandboxes for expert users.
default: True
manual: True
flag unordered-containers
description:
You can disable the use of the `unordered-containers` package using `-f-unordered-containers`.
.
Disabling this may be useful for accelerating builds in sandboxes for expert users.
default: True
manual: True
library
default-language: Haskell98
ghc-options: -Wall
build-depends:
base >= 4.8 && < 5
exposed-modules:
Data.Euclidean
Data.Field
Data.Ring.Ordered
Data.Semiring
Data.Star
Data.Semiring.Directed
Data.Semiring.Tropical
Data.Semiring.Generic
if impl(ghc < 8.6.1)
build-depends: template-haskell >= 2.4.0.0
if flag(containers)
build-depends: containers >= 0.5.4
if flag(unordered-containers)
build-depends:
hashable >= 1.1
, unordered-containers >= 0.2