-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdynamic-pipeline.cabal
224 lines (218 loc) · 7.51 KB
/
dynamic-pipeline.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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
cabal-version: 1.12
-- This file has been generated from package.yaml by hpack version 0.34.4.
--
-- see: https://github.com/sol/hpack
name: dynamic-pipeline
version: 0.3.1.3
synopsis: Library Type Safe implementation of Dynamic Pipeline Paradigm (DPP).
description: @dynamic-pipeline@ is a __/Type Safe/__ Dynamic and Parallel Streaming Library, which is an implementation of __Dynamic Pipeline Paradigm (DPP)__
proposed in this paper [DPP](https://biblioteca.sistedes.es/articulo/the-dynamic-pipeline-paradigm/).
.
The aim of this tool is to provide all the __Type level__ constructs to guide the user in building a /DPP/ flow to solve any algorithm that fits on
this computational model.
.
The idea behind the implementation is similar to other __Type level__ programming libraries like [@servant@](https://hackage.haskell.org/package/servant)
.
Some of the feature of this library includes:
.
* /Small Number of Dependencies/: Dependencies have been kept to minimum in order to reduce compilation time.
.
* /Type Level Encoding/: As it was explained before, there is an intensive use of Type Level techniques in the Library in order to guide the user in
defining the Flow Model and fill the gaps with the combinators provided and the Compiler indications. On the other hand some /Type Custom Errors/ have been
encoded in the Library in order to provide meaningful messages about the Data Flow Grammar Defined in /DPP/.
.
* /Stream Parallelization/: __DPP__ model follows a /Parallelization Pipeline/ approach with the use of intermediate Channels. All the burden have been hidden
for the user in order to reduce complexity and focus on the algorithm problem implementations.
.
* /Safe Scoped Execution/: Use of Existential to define the Scope execution of /DPP/ reducing even more the complexity to the user.
.
Import "DynamicPipeline" for using the library.
.
* /Examples/: <src/examples examples directory> in the package
.
category: Data,Data Flow,Pipes,Streaming,Parallel,Type-safe
homepage: https://github.com/jproyo/dynamic-pipeline#readme
bug-reports: https://github.com/jproyo/dynamic-pipeline/issues
author: Juan Pablo Royo Sales
maintainer: [email protected]
copyright: Copyright (C) 2021 Juan Pablo Royo Sales
license: BSD3
license-file: LICENSE
build-type: Simple
extra-source-files:
README.md
source-repository head
type: git
location: https://github.com/jproyo/dynamic-pipeline
library
exposed-modules:
DynamicPipeline
other-modules:
DynamicPipeline.Channel
DynamicPipeline.Flow
DynamicPipeline.Stage
hs-source-dirs:
src
default-extensions:
ConstraintKinds
DataKinds
DefaultSignatures
DeriveAnyClass
DeriveFoldable
DeriveFunctor
DeriveGeneric
DeriveLift
DeriveTraversable
DerivingStrategies
DerivingVia
EmptyCase
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
GeneralizedNewtypeDeriving
LambdaCase
MultiParamTypeClasses
MultiWayIf
NoImplicitPrelude
OverloadedStrings
PackageImports
PartialTypeSignatures
PolyKinds
Rank2Types
RankNTypes
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
TemplateHaskell
TupleSections
TypeApplications
TypeOperators
TypeFamilies
ghc-options: -Wall -fno-warn-partial-type-signatures -fconstraint-solver-iterations=0 -fspecialise-aggressively -fexpose-all-unfoldings -flate-specialise -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -Wno-unused-top-binds -Wno-unused-foralls -fno-warn-deprecations -fno-warn-orphans
build-depends:
HList >=0.5.0.0
, async >=2.1.0 && <=2.2.3
, base >=4.7 && <5
, bytestring >=0.10.9.0 && <=0.11.1.0
, lens >=4.19 && <=5.0.1
, relude >=0.7.0.0 && <=1.0.0.1
, unagi-chan >=0.4.1.0
default-language: Haskell2010
executable examples
main-is: Main.hs
other-modules:
Graph.ConnComp
Graph.ConnectedComp
Misc.RepeatedDP
Misc.RepeatedTwiceDP
hs-source-dirs:
examples
default-extensions:
ConstraintKinds
DataKinds
DefaultSignatures
DeriveAnyClass
DeriveFoldable
DeriveFunctor
DeriveGeneric
DeriveLift
DeriveTraversable
DerivingStrategies
DerivingVia
EmptyCase
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
GeneralizedNewtypeDeriving
LambdaCase
MultiParamTypeClasses
MultiWayIf
NoImplicitPrelude
OverloadedStrings
PackageImports
PartialTypeSignatures
PolyKinds
Rank2Types
RankNTypes
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
TemplateHaskell
TupleSections
TypeApplications
TypeOperators
TypeFamilies
ghc-options: -Wall -fno-warn-partial-type-signatures -fconstraint-solver-iterations=0 -fspecialise-aggressively -fexpose-all-unfoldings -flate-specialise -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -Wno-unused-top-binds -Wno-unused-foralls -fno-warn-deprecations -fno-warn-orphans -threaded -O3 -rtsopts -with-rtsopts=-N
build-depends:
HList
, async
, base >=4.7 && <5
, bytestring >=0.10.9.0 && <=0.11.1.0
, containers
, dynamic-pipeline
, lens >=4.19 && <=5.0.1
, optparse-applicative
, relude
, trifecta
, unagi-chan >=0.4.1.0
default-language: Haskell2010
test-suite conn-comp-tests
type: exitcode-stdio-1.0
main-is: Spec.hs
other-modules:
Paths_dynamic_pipeline
hs-source-dirs:
test
default-extensions:
ConstraintKinds
DataKinds
DefaultSignatures
DeriveAnyClass
DeriveFoldable
DeriveFunctor
DeriveGeneric
DeriveLift
DeriveTraversable
DerivingStrategies
DerivingVia
EmptyCase
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
GeneralizedNewtypeDeriving
LambdaCase
MultiParamTypeClasses
MultiWayIf
NoImplicitPrelude
OverloadedStrings
PackageImports
PartialTypeSignatures
PolyKinds
Rank2Types
RankNTypes
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
TemplateHaskell
TupleSections
TypeApplications
TypeOperators
TypeFamilies
ghc-options: -Wall -fno-warn-partial-type-signatures -fconstraint-solver-iterations=0 -fspecialise-aggressively -fexpose-all-unfoldings -flate-specialise -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -Wno-unused-top-binds -Wno-unused-foralls -fno-warn-deprecations -fno-warn-orphans -threaded -rtsopts -with-rtsopts=-N -Wno-unused-local-binds -Wno-unused-matches
build-tool-depends:
hspec-discover:hspec-discover
build-depends:
HList >=0.5.0.0
, QuickCheck
, async >=2.1.0 && <=2.2.3
, base >=4.7 && <5
, bytestring >=0.10.9.0 && <=0.11.1.0
, dynamic-pipeline
, hspec ==2.*
, lens >=4.19 && <=5.0.1
, relude >=1.0.0.0
, unagi-chan >=0.4.1.0
default-language: Haskell2010