@@ -1,8 +1,6 @@
2Name: project-m36
1Name: project-m36
3−Version: 0.9.3
2+Version: 0.8.1
4−License: MIT
3+License: PublicDomain
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
6Build-Type: Simple
4Build-Type: Simple
7Homepage: https://github.com/agentm/project-m36
5Homepage: https://github.com/agentm/project-m36
8Bug-Reports: https://github.com/agentm/project-m36/issues
6Bug-Reports: https://github.com/agentm/project-m36/issues
@@ -10,6 +8,7 @@ Author: AgentM
10Stability: experimental
8Stability: experimental
11Category: Relational Algebra
9Category: Relational Algebra
12Maintainer: agentm@themactionfaction.com
10Maintainer: agentm@themactionfaction.com
11+Cabal-Version: >= 1.10
13Synopsis: Relational Algebra Engine
12Synopsis: Relational Algebra Engine
14Description: A relational algebra engine which can be used to persist and query Haskell data types.
13Description: A relational algebra engine which can be used to persist and query Haskell data types.
15Extra-Source-Files: Changelog.markdown README.markdown
14Extra-Source-Files: Changelog.markdown README.markdown
@@ -35,7 +34,7 @@ Flag haskell-scripting
35 Default: True
34 Default: True
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
37+ 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, 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, text-manipulate >= 0.2.0.1 && < 0.3, vector-instances
39 if flag(haskell-scripting)
38 if flag(haskell-scripting)
40 Build-Depends: ghc >= 8.2 && < 8.11
39 Build-Depends: ghc >= 8.2 && < 8.11
41 CPP-Options: -DPM36_HASKELL_SCRIPTING
40 CPP-Options: -DPM36_HASKELL_SCRIPTING
@@ -52,8 +51,6 @@ Library
52 ProjectM36.TransactionGraph.Merge,
51 ProjectM36.TransactionGraph.Merge,
53 ProjectM36.TransGraphRelationalExpression,
52 ProjectM36.TransGraphRelationalExpression,
54 ProjectM36.Base,
53 ProjectM36.Base,
55− ProjectM36.Serialise.Base,
56− ProjectM36.Serialise.Error,
57 ProjectM36.DataFrame,
54 ProjectM36.DataFrame,
58 ProjectM36.Attribute,
55 ProjectM36.Attribute,
59 ProjectM36.AttributeNames,
56 ProjectM36.AttributeNames,
@@ -63,7 +60,6 @@ Library
63 ProjectM36.AtomFunction,
60 ProjectM36.AtomFunction,
64 ProjectM36.AtomFunctionError,
61 ProjectM36.AtomFunctionError,
65 ProjectM36.ScriptSession,
62 ProjectM36.ScriptSession,
66− ProjectM36.Shortcuts,
67 ProjectM36.DatabaseContextFunction,
63 ProjectM36.DatabaseContextFunction,
68 ProjectM36.DatabaseContextFunctionError,
64 ProjectM36.DatabaseContextFunctionError,
69 ProjectM36.DatabaseContextFunctionUtils,
65 ProjectM36.DatabaseContextFunctionUtils,
@@ -114,10 +110,6 @@ Library
114 ProjectM36.Server.EntryPoints,
110 ProjectM36.Server.EntryPoints,
115 ProjectM36.Server.ParseArgs,
111 ProjectM36.Server.ParseArgs,
116 ProjectM36.Server.RemoteCallTypes,
112 ProjectM36.Server.RemoteCallTypes,
117− ProjectM36.Serialise.AtomFunctionError,
118− ProjectM36.Serialise.DataFrame,
119− ProjectM36.Serialise.DatabaseContextFunctionError,
120− ProjectM36.Serialise.IsomorphicSchema,
121 ProjectM36.Session,
113 ProjectM36.Session,
122 ProjectM36.Sessions,
114 ProjectM36.Sessions,
123 ProjectM36.Transaction.Persist,
115 ProjectM36.Transaction.Persist,
@@ -136,14 +128,14 @@ Library
136 Other-Modules: ProjectM36.Win32Handle
128 Other-Modules: ProjectM36.Win32Handle
138 --219- too many exported symbols under Windows and GHC 8.4
130 --219- too many exported symbols under Windows and GHC 8.4
139− GHC-Options: -rdynamic -fexternal-interpreter
131+ GHC-Options: -rdynamic
140 C-sources: cbits/DirectoryFsync.c, cbits/darwin_statfs.c
132 C-sources: cbits/DirectoryFsync.c, cbits/darwin_statfs.c
141 Build-Depends: unix
133 Build-Depends: unix
142 CC-Options: -fPIC
134 CC-Options: -fPIC
143 Hs-Source-Dirs: ./src/lib
135 Hs-Source-Dirs: ./src/lib
144 Default-Language: Haskell2010
136 Default-Language: Haskell2010
145 Default-Extensions: OverloadedStrings, CPP
137 Default-Extensions: OverloadedStrings, CPP
146− if !flag(stack)
138+ if !flag(stack)
147 Build-Depends: deferred-folds
139 Build-Depends: deferred-folds
149Executable tutd
141Executable tutd
@@ -163,11 +155,13 @@ Executable tutd
163 MonadRandom, MonadRandom,
155 MonadRandom, MonadRandom,
158+ vector-binary-instances,
167 hashable-time,
160 hashable-time,
168 bytestring,
161 bytestring,
171 data-interval,
165 data-interval,
172 parallel,
166 parallel,
@@ -175,7 +169,7 @@ Executable tutd
175 directory,
169 directory,
176 filepath,
170 filepath,
177 temporary,
171 temporary,
178− megaparsec >= 5.2.0 && < 10,
172+ megaparsec >= 5.2.0 && < 9,
179 haskeline,
173 haskeline,
180 random, MonadRandom,
174 random, MonadRandom,
181 base64-bytestring,
175 base64-bytestring,
@@ -184,14 +178,7 @@ Executable tutd
184 stm-containers >= 1.0.0,
178 stm-containers >= 1.0.0,
186 parser-combinators,
180 parser-combinators,
188− prettyprinter,
181+ prettyprinter
190− --due to decode signature change
191− base16-bytestring >= 1.0.0.0,
195 Other-Modules: TutorialD.Interpreter,
182 Other-Modules: TutorialD.Interpreter,
196 TutorialD.Interpreter.Base,
183 TutorialD.Interpreter.Base,
197 TutorialD.Interpreter.DatabaseContextExpr,
184 TutorialD.Interpreter.DatabaseContextExpr,
@@ -223,8 +210,9 @@ Executable project-m36-server
223 Build-Depends: ghc >= 8.2 && < 8.11
210 Build-Depends: ghc >= 8.2 && < 8.11
224 Build-Depends: base,
211 Build-Depends: base,
225 ghc-paths,
212 ghc-paths,
227 project-m36,
213 project-m36,
228 temporary,
216 temporary,
229 data-interval,
217 data-interval,
@@ -237,6 +225,7 @@ Executable project-m36-server
237 optparse-applicative,
225 optparse-applicative,
238 hashable-time,
226 hashable-time,
228+ vector-binary-instances,
241 deepseq-generics,
230 deepseq-generics,
@@ -258,7 +247,7 @@ Executable project-m36-server
258Executable bigrel
247Executable bigrel
259 Default-Language: Haskell2010
248 Default-Language: Haskell2010
260 Default-Extensions: OverloadedStrings
249 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
250+ 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
262 Other-Modules: TutorialD.Interpreter.Base,
251 Other-Modules: TutorialD.Interpreter.Base,
263 TutorialD.Interpreter.DatabaseContextExpr,
252 TutorialD.Interpreter.DatabaseContextExpr,
264 TutorialD.Interpreter.RelationalExpr,
253 TutorialD.Interpreter.RelationalExpr,
@@ -269,13 +258,6 @@ Executable bigrel
269 if flag(profiler)
258 if flag(profiler)
270 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
259 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
279Benchmark basic-benchmark
261Benchmark basic-benchmark
280 Default-Language: Haskell2010
262 Default-Language: Haskell2010
281 Default-Extensions: OverloadedStrings
263 Default-Extensions: OverloadedStrings
@@ -287,131 +269,157 @@ Benchmark basic-benchmark
287 if flag(profiler)
269 if flag(profiler)
288 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
270 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
302Test-Suite test-tutoriald
272Test-Suite test-tutoriald
303− import: commontest
273+ Default-Language: Haskell2010
274+ Default-Extensions: OverloadedStrings
304 type: exitcode-stdio-1.0
275 type: exitcode-stdio-1.0
305− main-is: TutorialD/InterpreterTest.hs
276+ main-is: test/TutorialD/Interpreter.hs
277+ 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, prettyprinter
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
278 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
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
279+ GHC-Options: -Wall -threaded
280+ Hs-Source-Dirs: ./src/bin, ., test
309Test-Suite test-tutoriald-atomfunctionscript
282Test-Suite test-tutoriald-atomfunctionscript
310− import: commontest
283+ Default-Language: Haskell2010
284+ Default-Extensions: OverloadedStrings
311 type: exitcode-stdio-1.0
285 type: exitcode-stdio-1.0
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
286 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
313− main-is: TutorialD/Interpreter/AtomFunctionScript.hs
287+ main-is: test/TutorialD/Interpreter/AtomFunctionScript.hs
288+ Build-Depends: base, HUnit, project-m36, uuid, containers, megaparsec, text, vector, directory, bytestring, mtl, haskeline, random, MonadRandom, semigroups, time, parser-combinators, prettyprinter, base64-bytestring
289+ GHC-Options: -Wall -threaded
290+ Hs-Source-Dirs: ./src/bin, ./test, .
315Test-Suite test-tutoriald-databasecontextfunctionscript
292Test-Suite test-tutoriald-databasecontextfunctionscript
316− import: commontest
293+ Default-Language: Haskell2010
294+ Default-Extensions: OverloadedStrings
317 type: exitcode-stdio-1.0
295 type: exitcode-stdio-1.0
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
296 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
319− main-is: TutorialD/Interpreter/DatabaseContextFunctionScript.hs
297+ main-is: test/TutorialD/Interpreter/DatabaseContextFunctionScript.hs
298+ Build-Depends: base, HUnit, project-m36, uuid, containers, megaparsec, text, vector, directory, bytestring, mtl, haskeline, random, MonadRandom, semigroups, time, parser-combinators, prettyprinter, base64-bytestring
299+ GHC-Options: -Wall -threaded
300+ Hs-Source-Dirs: ./src/bin, ./test, .
321Test-Suite test-relation
302Test-Suite test-relation
322− import: commontest
303+ Default-Language: Haskell2010
304+ Default-Extensions: OverloadedStrings
323 type: exitcode-stdio-1.0
305 type: exitcode-stdio-1.0
324− main-is: Relation/Basic.hs
306+ main-is: test/Relation/Basic.hs
307+ 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
308+ GHC-Options: -Wall -threaded
326Test-Suite test-static-optimizer
310Test-Suite test-static-optimizer
327− import: commontest
311+ Default-Language: Haskell2010
312+ Default-Extensions: OverloadedStrings
328 type: exitcode-stdio-1.0
313 type: exitcode-stdio-1.0
329− main-is: Relation/StaticOptimizer.hs
314+ main-is: test/Relation/StaticOptimizer.hs
315+ 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
316+ GHC-Options: -Wall -threaded
331Test-Suite test-transactiongraph-persist
318Test-Suite test-transactiongraph-persist
332− import: commontest
319+ Default-Language: Haskell2010
320+ Default-Extensions: OverloadedStrings
333 type: exitcode-stdio-1.0
321 type: exitcode-stdio-1.0
334− main-is: TransactionGraph/Persist.hs
322+ main-is: test/TransactionGraph/Persist.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, random, MonadRandom, semigroups, parser-combinators, prettyprinter
335 Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Printer
324 Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Printer
325+ Hs-Source-Dirs: ., ./src/bin
326+ GHC-Options: -Wall -threaded
337Test-Suite test-relation-import-csv
328Test-Suite test-relation-import-csv
338− import: commontest
329+ Default-Language: Haskell2010
330+ Default-Extensions: OverloadedStrings
339 type: exitcode-stdio-1.0
331 type: exitcode-stdio-1.0
340− main-is: Relation/Import/CSV.hs
332+ main-is: test/Relation/Import/CSV.hs
333+ 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, prettyprinter
334+ GHC-Options: -Wall -threaded
342Test-Suite test-tutoriald-import-tutoriald
336Test-Suite test-tutoriald-import-tutoriald
343− import: commontest
337+ Default-Language: Haskell2010
338+ Default-Extensions: OverloadedStrings
344 type: exitcode-stdio-1.0
339 type: exitcode-stdio-1.0
345− main-is: TutorialD/Interpreter/Import/ImportTest.hs
340+ main-is: test/TutorialD/Interpreter/Import/TutorialD.hs
341+ 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, prettyprinter
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
342 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
343+ GHC-Options: -Wall -threaded
344+ Hs-Source-Dirs: ., ./src/bin
348Test-Suite test-relation-export-csv
346Test-Suite test-relation-export-csv
349− import: commontest
347+ Default-Language: Haskell2010
348+ Default-Extensions: OverloadedStrings
350 type: exitcode-stdio-1.0
349 type: exitcode-stdio-1.0
351− main-is: Relation/Export/CSV.hs
350+ main-is: test/Relation/Export/CSV.hs
351+ 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, prettyprinter
352+ GHC-Options: -Wall -threaded
353Test-Suite test-transactiongraph-merge
354Test-Suite test-transactiongraph-merge
354− import: commontest
355+ Default-Language: Haskell2010
356+ Default-Extensions: OverloadedStrings
355 type: exitcode-stdio-1.0
357 type: exitcode-stdio-1.0
356− main-is: TransactionGraph/Merge.hs
358+ main-is: test/TransactionGraph/Merge.hs
357−
359+ 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
360+ GHC-Options: -Wall -threaded
359Test-Suite test-prettyprinter
362Test-Suite test-prettyprinter
360− import: commontest
363+ Default-Language: Haskell2010
364+ Default-Extensions: OverloadedStrings
361 type: exitcode-stdio-1.0
365 type: exitcode-stdio-1.0
362− main-is: TutorialD/PrinterTest.hs
366+ main-is: test/TutorialD/Printer.hs
367+ 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, prettyprinter, random, MonadRandom, parser-combinators, base64-bytestring
368+ GHC-Options: -Wall -threaded
363 Other-Modules: TutorialD.Printer, TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types
369 Other-Modules: TutorialD.Printer, TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types
370+ Hs-Source-Dirs: ., ./src/bin
365benchmark bench
372benchmark bench
366− import: commontest
373+ Default-Language: Haskell2010
374+ Default-Extensions: OverloadedStrings
367 type: exitcode-stdio-1.0
375 type: exitcode-stdio-1.0
368 main-is: benchmark/Relation.hs
376 main-is: benchmark/Relation.hs
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, criterion, stm-containers, project-m36
378+ GHC-Options: -Wall -rtsopts -threaded
379+ Hs-Source-Dirs: ./src/bin
370Test-Suite test-server
381Test-Suite test-server
371− import: commontest
382+ Default-Language: Haskell2010
383+ Default-Extensions: OverloadedStrings
372 type: exitcode-stdio-1.0
384 type: exitcode-stdio-1.0
373− main-is: Server/Main.hs
385+ main-is: test/Server/Main.hs
374−
386+ 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
387+ HS-Source-Dirs: ., ./src/bin
388+ GHC-Options: -Wall -threaded
376Executable Example-SimpleClient
390Executable Example-SimpleClient
377 Default-Language: Haskell2010
391 Default-Language: Haskell2010
378 Default-Extensions: OverloadedStrings
392 Default-Extensions: OverloadedStrings
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
393+ 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
380 Main-Is: examples/SimpleClient.hs
394 Main-Is: examples/SimpleClient.hs
381 GHC-Options: -Wall -threaded
395 GHC-Options: -Wall -threaded
383Executable Example-OutOfTheTarpit
397Executable Example-OutOfTheTarpit
384 Default-Language: Haskell2010
398 Default-Language: Haskell2010
385 Default-Extensions: OverloadedStrings
399 Default-Extensions: OverloadedStrings
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
400+ 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
387 Main-Is: examples/out_of_the_tarpit.hs
401 Main-Is: examples/out_of_the_tarpit.hs
388 GHC-Options: -Wall -threaded
402 GHC-Options: -Wall -threaded
390Executable Example-Blog
404Executable Example-Blog
391 Default-Language: Haskell2010
405 Default-Language: Haskell2010
392 Default-Extensions: OverloadedStrings
406 Default-Extensions: OverloadedStrings
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
407+ 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
394 Main-Is: examples/blog.hs
408 Main-Is: examples/blog.hs
395 GHC-Options: -Wall -threaded
409 GHC-Options: -Wall -threaded
397Executable Example-Hair
412Executable Example-Hair
398 Default-Language: Haskell2010
413 Default-Language: Haskell2010
399 Default-Extensions: OverloadedStrings
414 Default-Extensions: OverloadedStrings
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
415+ 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
401 Main-Is: examples/hair.hs
416 Main-Is: examples/hair.hs
402 GHC-Options: -Wall -threaded
417 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
411Executable Example-CustomTupleable
419Executable Example-CustomTupleable
412 Default-Language: Haskell2010
420 Default-Language: Haskell2010
413 Default-Extensions: OverloadedStrings
421 Default-Extensions: OverloadedStrings
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
422+ 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
415 Main-Is: examples/CustomTupleable.hs
423 Main-Is: examples/CustomTupleable.hs
416 GHC-Options: -Wall -threaded
424 GHC-Options: -Wall -threaded
@@ -421,68 +429,102 @@ Executable Example-DerivingCustomTupleable
422 Buildable: False
430 Buildable: False
423 Default-Language: Haskell2010
431 Default-Language: Haskell2010
424− Build-Depends: base, text, deepseq, project-m36, winery
432+ Build-Depends: base, text, deepseq, binary, project-m36
425 Main-Is: examples/DerivingCustomTupleable.hs
433 Main-Is: examples/DerivingCustomTupleable.hs
426 GHC-Options: -Wall -threaded
434 GHC-Options: -Wall -threaded
428Test-Suite test-scripts
436Test-Suite test-scripts
429− import: commontest
437+ Default-Language: Haskell2010
438+ Default-Extensions: OverloadedStrings
430 type: exitcode-stdio-1.0
439 type: exitcode-stdio-1.0
431− main-is: scripts.hs
440+ main-is: test/scripts.hs
441+ 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
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
442+ 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
443+ GHC-Options: -Wall -threaded
444+ Hs-Source-Dirs: ., ./src/bin
434Executable project-m36-websocket-server
446Executable project-m36-websocket-server
435 Default-Language: Haskell2010
447 Default-Language: Haskell2010
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
448+ 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
437 Main-Is: ProjectM36/Server/WebSocket/websocket-server.hs
449 Main-Is: ProjectM36/Server/WebSocket/websocket-server.hs
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
450+ 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
439 GHC-Options: -Wall -threaded
451 GHC-Options: -Wall -threaded
440 Hs-Source-Dirs: ./src/bin
452 Hs-Source-Dirs: ./src/bin
441 Default-Extensions: OverloadedStrings
453 Default-Extensions: OverloadedStrings
443Test-Suite test-websocket-server
455Test-Suite test-websocket-server
444− import: commontest
456+ Default-Language: Haskell2010
445 type: exitcode-stdio-1.0
457 type: exitcode-stdio-1.0
446− main-is: Server/WebSocket.hs
458+ main-is: test/Server/WebSocket.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, network-transport-tcp, semigroups, parser-combinators, prettyprinter
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
460+ 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
461+ Default-Extensions: OverloadedStrings
462+ GHC-Options: -Wall -threaded
463+ Hs-Source-Dirs: ./src/bin, .
449Test-Suite test-isomorphic-schemas
465Test-Suite test-isomorphic-schemas
450− import: commontest
466+ Default-Language: Haskell2010
451 type: exitcode-stdio-1.0
467 type: exitcode-stdio-1.0
452− main-is: IsomorphicSchema.hs
468+ main-is: test/IsomorphicSchema.hs
469+ 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, prettyprinter
470+ Default-Extensions: OverloadedStrings
471+ GHC-Options: -Wall -threaded
472+ Hs-Source-Dirs: ./src/bin, .
473+ Other-Modules: TutorialD.Printer
454Test-Suite test-atomable
475Test-Suite test-atomable
455− import: commontest
476+ Default-Language: Haskell2010
456 type: exitcode-stdio-1.0
477 type: exitcode-stdio-1.0
457− main-is: Relation/Atomable.hs
478+ main-is: test/Relation/Atomable.hs
479+ 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, prettyprinter
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
480 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
481+ Default-Extensions: OverloadedStrings
482+ GHC-Options: -Wall -threaded
483+ Hs-Source-Dirs: ./src/bin, ., test/
460Test-Suite test-multiprocess-access
485Test-Suite test-multiprocess-access
461− import: commontest
486+ Default-Language: Haskell2010
462 type: exitcode-stdio-1.0
487 type: exitcode-stdio-1.0
463− main-is: MultiProcessDatabaseAccess.hs
488+ main-is: test/MultiProcessDatabaseAccess.hs
489+ 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
490+ Default-Extensions: OverloadedStrings
491+ GHC-Options: -Wall -threaded
492+ Hs-Source-Dirs: ./src/bin, ., test/
465Test-Suite test-transactiongraph-automerge
494Test-Suite test-transactiongraph-automerge
466− import: commontest
495+ Default-Language: Haskell2010
467 type: exitcode-stdio-1.0
496 type: exitcode-stdio-1.0
468− main-is: TransactionGraph/Automerge.hs
497+ main-is: test/TransactionGraph/Automerge.hs
498+ 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, prettyprinter
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
499+ 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
500+ Default-Extensions: OverloadedStrings
501+ GHC-Options: -Wall -threaded
502+ Hs-Source-Dirs: ./src/bin, ., test/
471Test-Suite test-tupleable
504Test-Suite test-tupleable
472− import: commontest
505+ Default-Language: Haskell2010
473 type: exitcode-stdio-1.0
506 type: exitcode-stdio-1.0
474− main-is: Relation/Tupleable.hs
507+ main-is: test/Relation/Tupleable.hs
508+ 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, prettyprinter
509+ Default-Extensions: OverloadedStrings
510+ GHC-Options: -Wall -threaded
511+ Hs-Source-Dirs: ./src/bin, ., test/
476Test-Suite test-client-simple
513Test-Suite test-client-simple
477− import: commontest
514+ Default-Language: Haskell2010
478− Main-Is: Client/Simple.hs
515+ Main-Is: test/Client/Simple.hs
479 type: exitcode-stdio-1.0
516 type: exitcode-stdio-1.0
517+ 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, prettyprinter
518+ Default-Extensions: OverloadedStrings
519+ GHC-Options: -Wall -threaded
520+ Hs-Source-Dirs: ./src/bin, ., test/
521+ Other-Modules: TutorialD.Printer
481-- test for file handle leaks
523-- test for file handle leaks
482Executable handles
524Executable handles
483 Default-Language: Haskell2010
525 Default-Language: Haskell2010
484 Default-Extensions: OverloadedStrings
526 Default-Extensions: OverloadedStrings
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
527+ 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
486 main-is: benchmark/Handles.hs
528 main-is: benchmark/Handles.hs
487 Other-Modules: TutorialD.Interpreter,
529 Other-Modules: TutorialD.Interpreter,
488 TutorialD.Interpreter.Base,
530 TutorialD.Interpreter.Base,
@@ -501,14 +543,17 @@ Executable handles
501 TutorialD.Interpreter.TransGraphRelationalOperator,
543 TutorialD.Interpreter.TransGraphRelationalOperator,
502 TutorialD.Interpreter.TransactionGraphOperator,
544 TutorialD.Interpreter.TransactionGraphOperator,
503 TutorialD.Interpreter.Types
545 TutorialD.Interpreter.Types
505 GHC-Options: -Wall -threaded -rtsopts
546 GHC-Options: -Wall -threaded -rtsopts
506 HS-Source-Dirs: ./src/bin
547 HS-Source-Dirs: ./src/bin
507 if flag(profiler)
548 if flag(profiler)
508 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
549 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
510Test-Suite test-dataframe
551Test-Suite test-dataframe
511− import: commontest
552+ Default-Language: Haskell2010
553+ Main-Is: test/DataFrame.hs
512 type: exitcode-stdio-1.0
554 type: exitcode-stdio-1.0
513− Main-Is: DataFrame.hs
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
555 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
556+ 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, prettyprinter
557+ Default-Extensions: OverloadedStrings
558+ GHC-Options: -Wall -threaded
559+ Hs-Source-Dirs: ./src/bin, ., test/