-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsupermonad.cabal
executable file
·136 lines (130 loc) · 6.47 KB
/
supermonad.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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
name: supermonad
version: 0.2.1.1
synopsis: Plugin and base library to support supermonads in Haskell
category: Type System, Plugin, Monad
license: BSD3
license-file: LICENSE
author: Jan Bracker <[email protected]>
maintainer: Jan Bracker <[email protected]>
bug-reports: https://github.com/jbracker/supermonad/issues
stability: experimental
copyright: Copyright (c) 2016-2018, Jan Bracker
build-type: Simple
cabal-version: >=1.10
tested-with: GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.1, GHC == 8.4.2
extra-source-files: README.md
, changelog.md
, Makefile
, examples/applicative/ll1-parser/ll1-parser-example.cabal
, examples/applicative/ll1-parser/*.hs
, examples/applicative/bankers/bankers.cabal
, examples/applicative/bankers/*.hs
, examples/monad/constrained/constrained-example.cabal
, examples/monad/constrained/*.hs
, examples/monad/effect/effect-example.cabal
, examples/monad/effect/*.hs
, examples/monad/minimal/minimal.cabal
, examples/monad/minimal/*.hs
, examples/monad/session/session-example.cabal
, examples/monad/session/*.hs
, examples/monad/session-chat/original/session-chat-orig-example.cabal
, examples/monad/session-chat/original/*.hs
, examples/monad/session-chat/supermonad/session-chat-supermonad-example.cabal
, examples/monad/session-chat/supermonad/*.hs
, examples/monad/hmtc/monad-param/hmtc-monad-param.cabal
, examples/monad/hmtc/monad-param/Makefile
, examples/monad/hmtc/monad-param/*.y
, examples/monad/hmtc/monad-param/*.hs
, examples/monad/hmtc/original/hmtc-orig.cabal
, examples/monad/hmtc/original/Makefile
, examples/monad/hmtc/original/*.y
, examples/monad/hmtc/original/*.hs
, examples/monad/hmtc/supermonad/hmtc-supermonad.cabal
, examples/monad/hmtc/supermonad/Makefile
, examples/monad/hmtc/supermonad/*.y
, examples/monad/hmtc/supermonad/*.hs
, examples/monad/hmtc/test-files/*.mt
, examples/test/missing-functions/missing-functions.cabal
, examples/test/missing-functions/*.hs
description:
The @supermonad@ library adds support for supermonads to GHC
using a type checker plugin. Plugins are available from GHC 7.10 onwards.
The base library containing the Haskell representation of super monads
is also given by this package.
Supermonads provide a unified representation of several monadic
generalizations to remove the need for manual disambiguation between
these notions and allow sharing of common functions between them.
Additional information can be found in the <https://github.com/jbracker/supermonad README>.
source-repository head
type: git
location: https://github.com/jbracker/supermonad.git
library
exposed-modules: Control.Super.Monad
, Control.Super.Monad.Prelude
, Control.Super.Monad.Functions
, Control.Super.Monad.Alternative
, Control.Super.Monad.MonadPlus
, Control.Super.Monad.Plugin
, Control.Super.Monad.PreludeWithoutMonad
, Control.Super.Monad.Constrained
, Control.Super.Monad.Constrained.Functor
, Control.Super.Monad.Constrained.Prelude
, Control.Super.Monad.Constrained.Functions
, Control.Super.Monad.Constrained.Alternative
, Control.Super.Monad.Constrained.MonadPlus
-- Legacy Modules
, Control.Supermonad
, Control.Supermonad.Prelude
, Control.Supermonad.Functions
, Control.Supermonad.Plugin
, Control.Supermonad.Constrained
, Control.Supermonad.Constrained.Prelude
other-modules: Control.Super.Plugin.Utils
, Control.Super.Plugin.Names
, Control.Super.Plugin.Wrapper
, Control.Super.Plugin.Log
, Control.Super.Plugin.Detect
, Control.Super.Plugin.Debug
, Control.Super.Plugin.Constraint
, Control.Super.Plugin.Instance
, Control.Super.Plugin.Evidence
, Control.Super.Plugin.Environment
, Control.Super.Plugin.Environment.Lift
, Control.Super.Plugin.Separation
, Control.Super.Plugin.Solving
, Control.Super.Plugin.InstanceDict
, Control.Super.Plugin.ClassDict
, Control.Super.Plugin.Prototype
, Control.Super.Plugin.Collection.Map
, Control.Super.Plugin.Collection.Set
other-extensions:
build-depends: base >=4.8 && <5
, ghc >=7.10.1 && <8.5
-- ^ We require version 7.10.1+, because we use the cpp macro:
-- MIN_VERSION_GLASGOW_HASKELL(x,y,z,z')
-- http://downloads.haskell.org/~ghc/8.0.1/docs/html/users_guide/phases.html#standard-cpp-macros
, containers >=0.5 && <0.6
, mtl >=2.2 && <3
, transformers >=0.4 && <0.6
-- ^ Should match mtl dependency
, fgl >= 5.5 && <6.0
hs-source-dirs: src
default-language: Haskell2010
ghc-options: -Wall -dynamic
-- Enable if things go wrong magically: -dcore-lint
test-suite tests
type: exitcode-stdio-1.0
default-language: Haskell2010
hs-source-dirs: tests, src
ghc-options: -Wall
main-is: Main.hs
other-modules: Control.Super.Plugin.Collection.Map
, Control.Super.Plugin.Collection.Set
, Control.Super.Plugin.Wrapper
, Test.Control.Super.Plugin.Collection.Map
, Test.Control.Super.Plugin.Collection.Set
, Test.Utils
build-depends: base >=4.8 && <5
, ghc >=7.10.1 && <8.5
, containers >=0.5 && <0.6
, QuickCheck