@@ -1,6 +1,8 @@
1Name: project-m36
2Name: project-m36
2−Version: 0.8
3+Version: 0.9.3
3−License: PublicDomain
4+License: MIT
5+--note that this license specification is erroneous and only labeled MIT to appease hackage which does not recognize public domain packages in cabal >2.2- Project:M36 is dedicated to the public domain
4Build-Type: Simple
6Build-Type: Simple
5Homepage: https://github.com/agentm/project-m36
7Homepage: https://github.com/agentm/project-m36
6Bug-Reports: https://github.com/agentm/project-m36/issues
8Bug-Reports: https://github.com/agentm/project-m36/issues
@@ -8,7 +10,6 @@ Author: AgentM
8Stability: experimental
10Stability: experimental
9Category: Relational Algebra
11Category: Relational Algebra
10Maintainer: agentm@themactionfaction.com
12Maintainer: agentm@themactionfaction.com
11−Cabal-Version: >= 1.10
12Synopsis: Relational Algebra Engine
13Synopsis: Relational Algebra Engine
13Description: A relational algebra engine which can be used to persist and query Haskell data types.
14Description: A relational algebra engine which can be used to persist and query Haskell data types.
14Extra-Source-Files: Changelog.markdown README.markdown
15Extra-Source-Files: Changelog.markdown README.markdown
@@ -28,8 +29,19 @@ Flag stack
28 Manual: True
29 Manual: True
29 Default: False
30 Default: False
32+Flag haskell-scripting
33+ Description: enables Haskell scripting which links against GHC as a library
32− Build-Depends: base>=4.8 && < 4.13, ghc >= 8.2 && < 8.7, ghc-paths, mtl, containers, unordered-containers, hashable, haskeline, directory, MonadRandom, random-shuffle, uuid >= 1.3.12, cassava >= 0.4.5.1 && < 0.6, text, bytestring, deepseq, deepseq-generics, vector, parallel, monad-parallel, exceptions, transformers, gnuplot, binary, filepath, zlib, directory, vector-binary-instances, temporary, stm, time, hashable-time, old-locale, rset, attoparsec, either, base64-bytestring, data-interval, extended-reals, network-transport, aeson >= 1.1, path-pieces, conduit, resourcet, http-api-data, semigroups, QuickCheck, quickcheck-instances, distributed-process-client-server >= 0.2.3, distributed-process >= 0.7.4, distributed-process-extras >= 0.3.2, distributed-process-async >= 0.2.4.1, network-transport-tcp >= 0.6.0, network-transport, list-t, stm-containers >= 0.2.15, foldl, optparse-applicative, Glob, cryptohash-sha256
38+ Build-Depends: base>=4.8 && < 4.15, ghc-paths, mtl, containers, unordered-containers, hashable, haskeline, directory, MonadRandom, random-shuffle, uuid >= 1.3.12, cassava >= 0.4.5.1 && < 0.6, text, bytestring, deepseq, deepseq-generics, vector, parallel, monad-parallel, exceptions, transformers, gnuplot, filepath, zlib, directory, temporary, stm, time, hashable-time, old-locale, rset, attoparsec, either, base64-bytestring, data-interval, extended-reals, aeson >= 1.1, path-pieces, conduit, resourcet, http-api-data, semigroups, QuickCheck, quickcheck-instances, list-t, stm-containers >= 0.2.15, foldl, optparse-applicative, Glob, cryptohash-sha256, text-manipulate >= 0.2.0.1 && < 0.4, winery, curryer-rpc, network, async, vector-instances, recursion-schemes, streamly >= 0.7.2, convertible
39+ if flag(haskell-scripting)
40+ Build-Depends: ghc >= 8.2 && < 8.11
41+ CPP-Options: -DPM36_HASKELL_SCRIPTING
42+ if impl(ghc>= 8) && flag(haskell-scripting)
33 if impl(ghc>= 8.6)
45 if impl(ghc>= 8.6)
34 Build-Depends: deferred-folds
46 Build-Depends: deferred-folds
35 Exposed-Modules: ProjectM36.Error,
47 Exposed-Modules: ProjectM36.Error,
@@ -40,6 +52,8 @@ Library
40 ProjectM36.TransactionGraph.Merge,
52 ProjectM36.TransactionGraph.Merge,
41 ProjectM36.TransGraphRelationalExpression,
53 ProjectM36.TransGraphRelationalExpression,
42 ProjectM36.Base,
54 ProjectM36.Base,
55+ ProjectM36.Serialise.Base,
56+ ProjectM36.Serialise.Error,
43 ProjectM36.DataFrame,
57 ProjectM36.DataFrame,
44 ProjectM36.Attribute,
58 ProjectM36.Attribute,
45 ProjectM36.AttributeNames,
59 ProjectM36.AttributeNames,
@@ -49,6 +63,7 @@ Library
49 ProjectM36.AtomFunction,
63 ProjectM36.AtomFunction,
50 ProjectM36.AtomFunctionError,
64 ProjectM36.AtomFunctionError,
51 ProjectM36.ScriptSession,
65 ProjectM36.ScriptSession,
66+ ProjectM36.Shortcuts,
52 ProjectM36.DatabaseContextFunction,
67 ProjectM36.DatabaseContextFunction,
53 ProjectM36.DatabaseContextFunctionError,
68 ProjectM36.DatabaseContextFunctionError,
54 ProjectM36.DatabaseContextFunctionUtils,
69 ProjectM36.DatabaseContextFunctionUtils,
@@ -68,6 +83,7 @@ Library
68 ProjectM36.Relation.Parse.CSV,
83 ProjectM36.Relation.Parse.CSV,
69 ProjectM36.IsomorphicSchema,
84 ProjectM36.IsomorphicSchema,
70 ProjectM36.InclusionDependency,
85 ProjectM36.InclusionDependency,
86+ ProjectM36.MerkleHash,
71 ProjectM36.Client,
87 ProjectM36.Client,
72 ProjectM36.Client.Simple,
88 ProjectM36.Client.Simple,
73 ProjectM36.Persist,
89 ProjectM36.Persist,
@@ -77,6 +93,7 @@ Library
77 ProjectM36.AtomFunctions.Primitive,
93 ProjectM36.AtomFunctions.Primitive,
78 ProjectM36.Atomable,
94 ProjectM36.Atomable,
79 ProjectM36.Tupleable,
95 ProjectM36.Tupleable,
96+ ProjectM36.Tupleable.Deriving,
80 ProjectM36.DataConstructorDef,
97 ProjectM36.DataConstructorDef,
81 ProjectM36.DataTypes.Basic,
98 ProjectM36.DataTypes.Basic,
82 ProjectM36.DataTypes.Sorting,
99 ProjectM36.DataTypes.Sorting,
@@ -97,6 +114,10 @@ Library
97 ProjectM36.Server.EntryPoints,
114 ProjectM36.Server.EntryPoints,
98 ProjectM36.Server.ParseArgs,
115 ProjectM36.Server.ParseArgs,
99 ProjectM36.Server.RemoteCallTypes,
116 ProjectM36.Server.RemoteCallTypes,
117+ ProjectM36.Serialise.AtomFunctionError,
118+ ProjectM36.Serialise.DataFrame,
119+ ProjectM36.Serialise.DatabaseContextFunctionError,
120+ ProjectM36.Serialise.IsomorphicSchema,
100 ProjectM36.Session,
121 ProjectM36.Session,
101 ProjectM36.Sessions,
122 ProjectM36.Sessions,
102 ProjectM36.Transaction.Persist,
123 ProjectM36.Transaction.Persist,
@@ -115,22 +136,20 @@ Library
115 Other-Modules: ProjectM36.Win32Handle
136 Other-Modules: ProjectM36.Win32Handle
117 --219- too many exported symbols under Windows and GHC 8.4
138 --219- too many exported symbols under Windows and GHC 8.4
118− GHC-Options: -rdynamic
139+ GHC-Options: -rdynamic -fexternal-interpreter
119 C-sources: cbits/DirectoryFsync.c, cbits/darwin_statfs.c
140 C-sources: cbits/DirectoryFsync.c, cbits/darwin_statfs.c
120 Build-Depends: unix
141 Build-Depends: unix
121− CC-Options: -fPIC
142+ CC-Options: -fPIC
122 Hs-Source-Dirs: ./src/lib
143 Hs-Source-Dirs: ./src/lib
123 Default-Language: Haskell2010
144 Default-Language: Haskell2010
124 Default-Extensions: OverloadedStrings, CPP
145 Default-Extensions: OverloadedStrings, CPP
128− if !flag(stack)
146+ if !flag(stack)
129 Build-Depends: deferred-folds
147 Build-Depends: deferred-folds
131Executable tutd
149Executable tutd
150+ if flag(haskell-scripting)
151+ Build-Depends: ghc >= 8.2 && < 8.11
132 Build-Depends: base >=4.8 && <5.0,
152 Build-Depends: base >=4.8 && <5.0,
133− ghc >= 7.8 && < 8.7,
134 ghc-paths,
153 ghc-paths,
135 project-m36,
154 project-m36,
136 containers,
155 containers,
@@ -144,13 +163,11 @@ Executable tutd
144 MonadRandom, MonadRandom,
163 MonadRandom, MonadRandom,
147− vector-binary-instances,
149 hashable-time,
167 hashable-time,
150 bytestring,
168 bytestring,
154 data-interval,
171 data-interval,
155 parallel,
172 parallel,
@@ -158,7 +175,7 @@ Executable tutd
158 directory,
175 directory,
159 filepath,
176 filepath,
160 temporary,
177 temporary,
161− megaparsec >= 5.2.0 && < 8,
178+ megaparsec >= 5.2.0 && < 10,
162 haskeline,
179 haskeline,
163 random, MonadRandom,
180 random, MonadRandom,
164 base64-bytestring,
181 base64-bytestring,
@@ -166,7 +183,15 @@ Executable tutd
166 attoparsec,
183 attoparsec,
167 stm-containers >= 1.0.0,
184 stm-containers >= 1.0.0,
169− parser-combinators
186+ parser-combinators,
190+ --due to decode signature change
191+ base16-bytestring >= 1.0.0.0,
170 Other-Modules: TutorialD.Interpreter,
195 Other-Modules: TutorialD.Interpreter,
171 TutorialD.Interpreter.Base,
196 TutorialD.Interpreter.Base,
172 TutorialD.Interpreter.DatabaseContextExpr,
197 TutorialD.Interpreter.DatabaseContextExpr,
@@ -185,6 +210,7 @@ Executable tutd
185 TutorialD.Interpreter.SchemaOperator,
210 TutorialD.Interpreter.SchemaOperator,
186 TutorialD.Interpreter.TransGraphRelationalOperator,
211 TutorialD.Interpreter.TransGraphRelationalOperator,
187 TutorialD.Interpreter.SchemaOperator
212 TutorialD.Interpreter.SchemaOperator
188 main-is: TutorialD/tutd.hs
214 main-is: TutorialD/tutd.hs
189 CC-Options: -fPIC
215 CC-Options: -fPIC
190 GHC-Options: -Wall -threaded
216 GHC-Options: -Wall -threaded
@@ -193,12 +219,12 @@ Executable tutd
193 Default-Extensions: OverloadedStrings
219 Default-Extensions: OverloadedStrings
195Executable project-m36-server
221Executable project-m36-server
222+ if flag(haskell-scripting)
223+ Build-Depends: ghc >= 8.2 && < 8.11
196 Build-Depends: base,
224 Build-Depends: base,
197− ghc >= 7.8 && < 8.7,
198 ghc-paths,
225 ghc-paths,
201 transformers,
226 transformers,
202 temporary,
228 temporary,
203 data-interval,
229 data-interval,
@@ -211,7 +237,6 @@ Executable project-m36-server
211 optparse-applicative,
237 optparse-applicative,
212 hashable-time,
238 hashable-time,
214− vector-binary-instances,
216 deepseq-generics,
241 deepseq-generics,
@@ -224,12 +249,33 @@ Executable project-m36-server
225 base64-bytestring
250 base64-bytestring
226 Main-Is: ./src/bin/ProjectM36/Server/project-m36-server.hs
251 Main-Is: ./src/bin/ProjectM36/Server/project-m36-server.hs
227− GHC-Options: -Wall -threaded -rtsopts
252+ GHC-Options: -Wall -threaded -rtsopts
228 if flag(profiler)
253 if flag(profiler)
229 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
254 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
230 Default-Language: Haskell2010
255 Default-Language: Haskell2010
231 Default-Extensions: OverloadedStrings
256 Default-Extensions: OverloadedStrings
259+ Default-Language: Haskell2010
260+ Default-Extensions: OverloadedStrings
261+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, optparse-applicative, stm-containers, list-t, ghc, ghc-paths, transformers, project-m36, random, MonadRandom, semigroups, parser-combinators
262+ Other-Modules: TutorialD.Interpreter.Base,
263+ TutorialD.Interpreter.DatabaseContextExpr,
264+ TutorialD.Interpreter.RelationalExpr,
265+ TutorialD.Interpreter.Types
266+ main-is: benchmark/bigrel.hs
267+ GHC-Options: -Wall -threaded -rtsopts
268+ HS-Source-Dirs: ./src/bin
270+ GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
273+ Default-Language: Haskell2010
274+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom, semigroups, parser-combinators, winery, curryer-rpc, prettyprinter, base64-bytestring, modern-uri, http-types, http-conduit, base16-bytestring,cryptohash-sha256
275+ Default-Extensions: OverloadedStrings
276+ GHC-Options: -Wall -threaded
277+ Hs-Source-Dirs: test, src/bin
233Benchmark basic-benchmark
279Benchmark basic-benchmark
234 Default-Language: Haskell2010
280 Default-Language: Haskell2010
235 Default-Extensions: OverloadedStrings
281 Default-Extensions: OverloadedStrings
@@ -241,240 +287,202 @@ Benchmark basic-benchmark
241 if flag(profiler)
287 if flag(profiler)
242 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
288 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
290+--benchmark inserts, updates, deletes for a basic use-case to shake out any space leaks
291+Benchmark update-exprs
292+ Default-Language: Haskell2010
293+ Default-Extensions: OverloadedStrings
294+ Build-Depends: base, criterion, project-m36, text, winery
295+ Main-Is: benchmark/Server.hs
296+ Type: exitcode-stdio-1.0
297+ GHC-Options: -Wall -threaded -rtsopts
298+ HS-Source-Dirs: ./src/bin
300+ GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall -fexternal-interpreter
244Test-Suite test-tutoriald
302Test-Suite test-tutoriald
245− Default-Language: Haskell2010
303+ import: commontest
246− Default-Extensions: OverloadedStrings
247 type: exitcode-stdio-1.0
304 type: exitcode-stdio-1.0
248− main-is: test/TutorialD/Interpreter.hs
305+ main-is: TutorialD/InterpreterTest.hs
306+ Other-Modules: TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.TransactionGraphOperator, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.TestBase, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.SchemaOperator, TutorialD.Printer
249− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, stm-containers, list-t, project-m36, random, MonadRandom, semigroups, parser-combinators
307+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, stm-containers, list-t, project-m36, random, MonadRandom, semigroups, parser-combinators, prettyprinter
250− Other-Modules: TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.TransactionGraphOperator, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.TestBase, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.SchemaOperator
251− GHC-Options: -Wall -threaded
252− Hs-Source-Dirs: ./src/bin, ., test
254Test-Suite test-tutoriald-atomfunctionscript
309Test-Suite test-tutoriald-atomfunctionscript
255− Default-Language: Haskell2010
310+ import: commontest
256− Default-Extensions: OverloadedStrings
257 type: exitcode-stdio-1.0
311 type: exitcode-stdio-1.0
258− Other-Modules: TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.TestBase, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.TransactionGraphOperator, TutorialD.Interpreter.Types, TutorialD.Interpreter.SchemaOperator
312+ Other-Modules: TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.TestBase, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.TransactionGraphOperator, TutorialD.Interpreter.Types, TutorialD.Interpreter.SchemaOperator, TutorialD.Printer
259− main-is: test/TutorialD/Interpreter/AtomFunctionScript.hs
313+ main-is: TutorialD/Interpreter/AtomFunctionScript.hs
260− Build-Depends: base, HUnit, project-m36, uuid, containers, megaparsec, text, vector, directory, bytestring, mtl, haskeline, random, MonadRandom, semigroups, time, parser-combinators
261− GHC-Options: -Wall -threaded
262− Hs-Source-Dirs: ./src/bin, ./test, .
264Test-Suite test-tutoriald-databasecontextfunctionscript
315Test-Suite test-tutoriald-databasecontextfunctionscript
265− Default-Language: Haskell2010
316+ import: commontest
266− Default-Extensions: OverloadedStrings
267 type: exitcode-stdio-1.0
317 type: exitcode-stdio-1.0
268− Other-Modules: TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.TestBase, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.TransactionGraphOperator, TutorialD.Interpreter.Types, TutorialD.Interpreter.SchemaOperator
318+ Other-Modules: TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.TestBase, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.TransactionGraphOperator, TutorialD.Interpreter.Types, TutorialD.Interpreter.SchemaOperator, TutorialD.Printer
269− main-is: test/TutorialD/Interpreter/DatabaseContextFunctionScript.hs
319+ main-is: TutorialD/Interpreter/DatabaseContextFunctionScript.hs
270− Build-Depends: base, HUnit, project-m36, uuid, containers, megaparsec, text, vector, directory, bytestring, mtl, haskeline, random, MonadRandom, semigroups, time, parser-combinators
271− GHC-Options: -Wall -threaded
272− Hs-Source-Dirs: ./src/bin, ./test, .
274Test-Suite test-relation
321Test-Suite test-relation
275− Default-Language: Haskell2010
322+ import: commontest
276− Default-Extensions: OverloadedStrings
277 type: exitcode-stdio-1.0
323 type: exitcode-stdio-1.0
278− main-is: test/Relation/Basic.hs
324+ main-is: Relation/Basic.hs
279− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, stm-containers, project-m36, transformers
280− GHC-Options: -Wall -threaded
282Test-Suite test-static-optimizer
326Test-Suite test-static-optimizer
283− Default-Language: Haskell2010
327+ import: commontest
284− Default-Extensions: OverloadedStrings
285 type: exitcode-stdio-1.0
328 type: exitcode-stdio-1.0
286− main-is: test/Relation/StaticOptimizer.hs
329+ main-is: Relation/StaticOptimizer.hs
287− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, stm-containers, project-m36, transformers
288− GHC-Options: -Wall -threaded
290Test-Suite test-transactiongraph-persist
331Test-Suite test-transactiongraph-persist
291− Default-Language: Haskell2010
332+ import: commontest
292− Default-Extensions: OverloadedStrings
293 type: exitcode-stdio-1.0
333 type: exitcode-stdio-1.0
294− main-is: test/TransactionGraph/Persist.hs
334+ main-is: TransactionGraph/Persist.hs
295− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, stm-containers, project-m36, random, MonadRandom, semigroups, parser-combinators
296− Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.BasicExamples
335+ Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Printer
297− Hs-Source-Dirs: ., ./src/bin
298− GHC-Options: -Wall -threaded
300Test-Suite test-relation-import-csv
337Test-Suite test-relation-import-csv
301− Default-Language: Haskell2010
338+ import: commontest
302− Default-Extensions: OverloadedStrings
303 type: exitcode-stdio-1.0
339 type: exitcode-stdio-1.0
304− main-is: test/Relation/Import/CSV.hs
340+ main-is: Relation/Import/CSV.hs
305− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, stm-containers, project-m36
306− GHC-Options: -Wall -threaded
308Test-Suite test-tutoriald-import-tutoriald
342Test-Suite test-tutoriald-import-tutoriald
309− Default-Language: Haskell2010
343+ import: commontest
310− Default-Extensions: OverloadedStrings
311 type: exitcode-stdio-1.0
344 type: exitcode-stdio-1.0
312− main-is: test/TutorialD/Interpreter/Import/TutorialD.hs
345+ main-is: TutorialD/Interpreter/Import/ImportTest.hs
313− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, stm-containers, project-m36, random, MonadRandom, semigroups, parser-combinators
314− Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.BasicExamples
346+ Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Printer
315− GHC-Options: -Wall -threaded
316− Hs-Source-Dirs: ., ./src/bin
318Test-Suite test-relation-export-csv
348Test-Suite test-relation-export-csv
319− Default-Language: Haskell2010
349+ import: commontest
320− Default-Extensions: OverloadedStrings
321 type: exitcode-stdio-1.0
350 type: exitcode-stdio-1.0
322− main-is: test/Relation/Export/CSV.hs
351+ main-is: Relation/Export/CSV.hs
323− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, stm-containers, project-m36
324− GHC-Options: -Wall -threaded
326Test-Suite test-transactiongraph-merge
353Test-Suite test-transactiongraph-merge
327− Default-Language: Haskell2010
354+ import: commontest
328− Default-Extensions: OverloadedStrings
329 type: exitcode-stdio-1.0
355 type: exitcode-stdio-1.0
330− main-is: test/TransactionGraph/Merge.hs
356+ main-is: TransactionGraph/Merge.hs
331− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, template-haskell, transformers, aeson, conduit, either, path-pieces, http-api-data, stm-containers, list-t, project-m36
357+
332− GHC-Options: -Wall -threaded
358+
359+Test-Suite test-prettyprinter
361+ type: exitcode-stdio-1.0
362+ main-is: TutorialD/PrinterTest.hs
363+ Other-Modules: TutorialD.Printer, TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types
334benchmark bench
365benchmark bench
335− Default-Language: Haskell2010
366+ import: commontest
336− Default-Extensions: OverloadedStrings
337 type: exitcode-stdio-1.0
367 type: exitcode-stdio-1.0
338 main-is: benchmark/Relation.hs
368 main-is: benchmark/Relation.hs
339− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, criterion, stm-containers, project-m36
340− GHC-Options: -Wall -rtsopts -threaded
341− Hs-Source-Dirs: ./src/bin
343Test-Suite test-server
370Test-Suite test-server
344− Default-Language: Haskell2010
371+ import: commontest
345− Default-Extensions: OverloadedStrings
346 type: exitcode-stdio-1.0
372 type: exitcode-stdio-1.0
347− main-is: test/Server/Main.hs
373+ main-is: Server/Main.hs
348− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, network-transport-tcp, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, project-m36, network-transport, semigroups
374+
349− HS-Source-Dirs: ., ./src/bin
350− GHC-Options: -Wall -threaded
352Executable Example-SimpleClient
376Executable Example-SimpleClient
353 Default-Language: Haskell2010
377 Default-Language: Haskell2010
354 Default-Extensions: OverloadedStrings
378 Default-Extensions: OverloadedStrings
355− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, ghc, ghc-paths, project-m36, random, MonadRandom
379+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, ghc, ghc-paths, project-m36, random, MonadRandom
356 Main-Is: examples/SimpleClient.hs
380 Main-Is: examples/SimpleClient.hs
357 GHC-Options: -Wall -threaded
381 GHC-Options: -Wall -threaded
359Executable Example-OutOfTheTarpit
383Executable Example-OutOfTheTarpit
360 Default-Language: Haskell2010
384 Default-Language: Haskell2010
361 Default-Extensions: OverloadedStrings
385 Default-Extensions: OverloadedStrings
362− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, aeson, path-pieces, either, conduit, http-api-data, template-haskell, ghc, ghc-paths, project-m36
386+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, aeson, path-pieces, either, conduit, http-api-data, template-haskell, ghc, ghc-paths, project-m36, winery
363 Main-Is: examples/out_of_the_tarpit.hs
387 Main-Is: examples/out_of_the_tarpit.hs
364 GHC-Options: -Wall -threaded
388 GHC-Options: -Wall -threaded
366Executable Example-Blog
390Executable Example-Blog
367 Default-Language: Haskell2010
391 Default-Language: Haskell2010
368 Default-Extensions: OverloadedStrings
392 Default-Extensions: OverloadedStrings
369− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, aeson, path-pieces, either, conduit, http-api-data, template-haskell, ghc, ghc-paths, project-m36, scotty, blaze-html, http-types
393+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, aeson, path-pieces, either, conduit, http-api-data, template-haskell, ghc, ghc-paths, project-m36, scotty, blaze-html, http-types, winery
370 Main-Is: examples/blog.hs
394 Main-Is: examples/blog.hs
371 GHC-Options: -Wall -threaded
395 GHC-Options: -Wall -threaded
374Executable Example-Hair
397Executable Example-Hair
375 Default-Language: Haskell2010
398 Default-Language: Haskell2010
376 Default-Extensions: OverloadedStrings
399 Default-Extensions: OverloadedStrings
377− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, aeson, path-pieces, either, conduit, http-api-data, template-haskell, ghc, ghc-paths, project-m36
400+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, aeson, path-pieces, either, conduit, http-api-data, template-haskell, ghc, ghc-paths, project-m36, winery
378 Main-Is: examples/hair.hs
401 Main-Is: examples/hair.hs
379 GHC-Options: -Wall -threaded
402 GHC-Options: -Wall -threaded
404+Executable Example-Plantfarm
405+ Default-Language: Haskell2010
406+ Default-Extensions: OverloadedStrings
407+ Build-Depends: aeson, barbies, base, binary, containers, deepseq, hashable, project-m36, random, scotty, text, winery
408+ Main-Is: examples/Plantfarm.hs
409+ GHC-Options: -Wall -threaded
381Executable Example-CustomTupleable
411Executable Example-CustomTupleable
382 Default-Language: Haskell2010
412 Default-Language: Haskell2010
383 Default-Extensions: OverloadedStrings
413 Default-Extensions: OverloadedStrings
384− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, aeson, path-pieces, either, conduit, http-api-data, template-haskell, ghc, ghc-paths, project-m36
414+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, aeson, path-pieces, either, conduit, http-api-data, template-haskell, ghc, ghc-paths, project-m36, winery
385 Main-Is: examples/CustomTupleable.hs
415 Main-Is: examples/CustomTupleable.hs
386 GHC-Options: -Wall -threaded
416 GHC-Options: -Wall -threaded
388−Test-Suite test-scripts
418+Executable Example-DerivingCustomTupleable
389 Default-Language: Haskell2010
423 Default-Language: Haskell2010
390− Default-Extensions: OverloadedStrings
424+ Build-Depends: base, text, deepseq, project-m36, winery
391− type: exitcode-stdio-1.0
425+ Main-Is: examples/DerivingCustomTupleable.hs
392− main-is: test/scripts.hs
393− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, network-transport-tcp, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, project-m36, random, MonadRandom, semigroups, parser-combinators
394− Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.Import.BasicExamples
395 GHC-Options: -Wall -threaded
426 GHC-Options: -Wall -threaded
396− Hs-Source-Dirs: ., ./src/bin
427+
428+Test-Suite test-scripts
430+ type: exitcode-stdio-1.0
432+ Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Printer
398Executable project-m36-websocket-server
434Executable project-m36-websocket-server
399 Default-Language: Haskell2010
435 Default-Language: Haskell2010
400− Build-Depends: base, aeson, path-pieces, either, conduit, http-api-data, template-haskell, websockets, aeson, optparse-applicative, project-m36, containers, bytestring, text, vector, uuid, megaparsec, haskeline, mtl, directory, base64-bytestring, random, MonadRandom, time, network-transport-tcp, semigroups, attoparsec, parser-combinators
436+ Build-Depends: base, aeson, path-pieces, either, conduit, http-api-data, template-haskell, websockets, aeson, optparse-applicative, project-m36, containers, bytestring, text, vector, uuid, megaparsec, haskeline, mtl, directory, base64-bytestring, random, MonadRandom, time, semigroups, attoparsec, parser-combinators, prettyprinter, network, modern-uri, http-conduit, base16-bytestring, http-types, cryptohash-sha256, wai, wai-websockets, warp, warp-tls
401 Main-Is: ProjectM36/Server/WebSocket/websocket-server.hs
437 Main-Is: ProjectM36/Server/WebSocket/websocket-server.hs
402− Other-Modules: ProjectM36.Client.Json, ProjectM36.Server.RemoteCallTypes.Json, ProjectM36.Server.WebSocket, TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.TransactionGraphOperator, TutorialD.Interpreter.Types, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.SchemaOperator
438+ Other-Modules: ProjectM36.Client.Json, ProjectM36.Server.RemoteCallTypes.Json, ProjectM36.Server.WebSocket, TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.TransactionGraphOperator, TutorialD.Interpreter.Types, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.SchemaOperator, TutorialD.Printer
403 GHC-Options: -Wall -threaded
439 GHC-Options: -Wall -threaded
404 Hs-Source-Dirs: ./src/bin
440 Hs-Source-Dirs: ./src/bin
405 Default-Extensions: OverloadedStrings
441 Default-Extensions: OverloadedStrings
407Test-Suite test-websocket-server
443Test-Suite test-websocket-server
408− Default-Language: Haskell2010
444+ import: commontest
409 type: exitcode-stdio-1.0
445 type: exitcode-stdio-1.0
410− main-is: test/Server/WebSocket.hs
446+ main-is: Server/WebSocket.hs
411− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom, network-transport-tcp, semigroups, parser-combinators
412− Other-Modules: TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.TransactionGraphOperator, ProjectM36.Client.Json, ProjectM36.Server.RemoteCallTypes.Json, ProjectM36.Server.WebSocket, TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.SchemaOperator
447+ Other-Modules: TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.TransactionGraphOperator, ProjectM36.Client.Json, ProjectM36.Server.RemoteCallTypes.Json, ProjectM36.Server.WebSocket, TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.SchemaOperator, TutorialD.Printer
413− Default-Extensions: OverloadedStrings
414− GHC-Options: -Wall -threaded
415− Hs-Source-Dirs: ./src/bin, .
417Test-Suite test-isomorphic-schemas
449Test-Suite test-isomorphic-schemas
418− Default-Language: Haskell2010
450+ import: commontest
419 type: exitcode-stdio-1.0
451 type: exitcode-stdio-1.0
420− main-is: test/IsomorphicSchema.hs
452+ main-is: IsomorphicSchema.hs
421− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36
422− Default-Extensions: OverloadedStrings
423− GHC-Options: -Wall -threaded
424− Hs-Source-Dirs: ./src/bin, .
426Test-Suite test-atomable
454Test-Suite test-atomable
427− Default-Language: Haskell2010
455+ import: commontest
428 type: exitcode-stdio-1.0
456 type: exitcode-stdio-1.0
429− main-is: test/Relation/Atomable.hs
457+ main-is: Relation/Atomable.hs
430− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom, semigroups, parser-combinators
431− Other-Modules: TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.SchemaOperator, TutorialD.Interpreter.TestBase, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.TransactionGraphOperator, TutorialD.Interpreter.Types
458+ Other-Modules: TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.SchemaOperator, TutorialD.Interpreter.TestBase, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.TransactionGraphOperator, TutorialD.Interpreter.Types, TutorialD.Printer
432− Default-Extensions: OverloadedStrings
433− GHC-Options: -Wall -threaded
434− Hs-Source-Dirs: ./src/bin, ., test/
436Test-Suite test-multiprocess-access
460Test-Suite test-multiprocess-access
437− Default-Language: Haskell2010
461+ import: commontest
438 type: exitcode-stdio-1.0
462 type: exitcode-stdio-1.0
439− main-is: test/MultiProcessDatabaseAccess.hs
463+ main-is: MultiProcessDatabaseAccess.hs
440− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom
441− Default-Extensions: OverloadedStrings
442− GHC-Options: -Wall -threaded
443− Hs-Source-Dirs: ./src/bin, ., test/
445Test-Suite test-transactiongraph-automerge
465Test-Suite test-transactiongraph-automerge
446− Default-Language: Haskell2010
466+ import: commontest
447 type: exitcode-stdio-1.0
467 type: exitcode-stdio-1.0
448− main-is: test/TransactionGraph/Automerge.hs
468+ main-is: TransactionGraph/Automerge.hs
449− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom, semigroups, parser-combinators
450− Other-Modules: TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.SchemaOperator, TutorialD.Interpreter.TestBase, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.TransactionGraphOperator, TutorialD.Interpreter.Types
469+ Other-Modules: TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.SchemaOperator, TutorialD.Interpreter.TestBase, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.TransactionGraphOperator, TutorialD.Interpreter.Types, TutorialD.Printer
451− Default-Extensions: OverloadedStrings
452− GHC-Options: -Wall -threaded
453− Hs-Source-Dirs: ./src/bin, ., test/
455Test-Suite test-tupleable
471Test-Suite test-tupleable
456− Default-Language: Haskell2010
472+ import: commontest
457 type: exitcode-stdio-1.0
473 type: exitcode-stdio-1.0
458− main-is: test/Relation/Tupleable.hs
474+ main-is: Relation/Tupleable.hs
459− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom, semigroups
460− Default-Extensions: OverloadedStrings
461− GHC-Options: -Wall -threaded
462− Hs-Source-Dirs: ./src/bin, ., test/
464Test-Suite test-client-simple
476Test-Suite test-client-simple
465− Default-Language: Haskell2010
477+ import: commontest
466− Main-Is: test/Client/Simple.hs
478+ Main-Is: Client/Simple.hs
467 type: exitcode-stdio-1.0
479 type: exitcode-stdio-1.0
468− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom, semigroups
469− Default-Extensions: OverloadedStrings
470− GHC-Options: -Wall -threaded
471− Hs-Source-Dirs: ./src/bin, ., test/
473-- test for file handle leaks
481-- test for file handle leaks
474Executable handles
482Executable handles
475 Default-Language: Haskell2010
483 Default-Language: Haskell2010
476 Default-Extensions: OverloadedStrings
484 Default-Extensions: OverloadedStrings
477− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, optparse-applicative, stm-containers, list-t, ghc, ghc-paths, transformers, project-m36, random, MonadRandom, semigroups, parser-combinators
485+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, optparse-applicative, stm-containers, list-t, ghc, ghc-paths, transformers, project-m36, random, MonadRandom, semigroups, parser-combinators, prettyprinter, modern-uri, http-types, http-conduit, base16-bytestring, cryptohash-sha256
478 main-is: benchmark/Handles.hs
486 main-is: benchmark/Handles.hs
479 Other-Modules: TutorialD.Interpreter,
487 Other-Modules: TutorialD.Interpreter,
480 TutorialD.Interpreter.Base,
488 TutorialD.Interpreter.Base,
@@ -493,17 +501,14 @@ Executable handles
493 TutorialD.Interpreter.TransGraphRelationalOperator,
501 TutorialD.Interpreter.TransGraphRelationalOperator,
494 TutorialD.Interpreter.TransactionGraphOperator,
502 TutorialD.Interpreter.TransactionGraphOperator,
495 TutorialD.Interpreter.Types
503 TutorialD.Interpreter.Types
496 GHC-Options: -Wall -threaded -rtsopts
505 GHC-Options: -Wall -threaded -rtsopts
497 HS-Source-Dirs: ./src/bin
506 HS-Source-Dirs: ./src/bin
498 if flag(profiler)
507 if flag(profiler)
499 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
508 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
501Test-Suite test-dataframe
510Test-Suite test-dataframe
502− Default-Language: Haskell2010
511+ import: commontest
503− Main-Is: test/DataFrame.hs
504 type: exitcode-stdio-1.0
512 type: exitcode-stdio-1.0
513+ Main-Is: DataFrame.hs
505− Other-Modules: TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.SchemaOperator, TutorialD.Interpreter.TestBase, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.TransactionGraphOperator, TutorialD.Interpreter.Types
514+ Other-Modules: TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.SchemaOperator, TutorialD.Interpreter.TestBase, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.TransactionGraphOperator, TutorialD.Interpreter.Types, TutorialD.Printer
506− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom, semigroups, parser-combinators
507− Default-Extensions: OverloadedStrings
508− GHC-Options: -Wall -threaded
509− Hs-Source-Dirs: ./src/bin, ., test/