@@ -1,6 +1,8 @@
1+Cabal-Version: 2.2
12Name: project-m36
2−Version: 0.8
3−License: PublicDomain
3+Version: 0.9.3
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
46Build-Type: Simple
57Homepage: https://github.com/agentm/project-m36
68Bug-Reports: https://github.com/agentm/project-m36/issues
@@ -8,7 +10,6 @@ Author: AgentM
810Stability: experimental
911Category: Relational Algebra
1012Maintainer: agentm@themactionfaction.com
11−Cabal-Version: >= 1.10
1213Synopsis: Relational Algebra Engine
1314Description: A relational algebra engine which can be used to persist and query Haskell data types.
1415Extra-Source-Files: Changelog.markdown README.markdown
@@ -34,9 +35,9 @@ Flag haskell-scripting
3435 Default: True
3536
3637Library
37− Build-Depends: base>=4.8 && < 4.14, 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
3839 if flag(haskell-scripting)
39− Build-Depends: ghc >= 8.2 && < 8.9
40+ Build-Depends: ghc >= 8.2 && < 8.11
4041 CPP-Options: -DPM36_HASKELL_SCRIPTING
4142 if impl(ghc>= 8) && flag(haskell-scripting)
4243 build-depends:
@@ -51,6 +52,8 @@ Library
5152 ProjectM36.TransactionGraph.Merge,
5253 ProjectM36.TransGraphRelationalExpression,
5354 ProjectM36.Base,
55+ ProjectM36.Serialise.Base,
56+ ProjectM36.Serialise.Error,
5457 ProjectM36.DataFrame,
5558 ProjectM36.Attribute,
5659 ProjectM36.AttributeNames,
@@ -60,6 +63,7 @@ Library
6063 ProjectM36.AtomFunction,
6164 ProjectM36.AtomFunctionError,
6265 ProjectM36.ScriptSession,
66+ ProjectM36.Shortcuts,
6367 ProjectM36.DatabaseContextFunction,
6468 ProjectM36.DatabaseContextFunctionError,
6569 ProjectM36.DatabaseContextFunctionUtils,
@@ -89,6 +93,7 @@ Library
8993 ProjectM36.AtomFunctions.Primitive,
9094 ProjectM36.Atomable,
9195 ProjectM36.Tupleable,
96+ ProjectM36.Tupleable.Deriving,
9297 ProjectM36.DataConstructorDef,
9398 ProjectM36.DataTypes.Basic,
9499 ProjectM36.DataTypes.Sorting,
@@ -109,6 +114,10 @@ Library
109114 ProjectM36.Server.EntryPoints,
110115 ProjectM36.Server.ParseArgs,
111116 ProjectM36.Server.RemoteCallTypes,
117+ ProjectM36.Serialise.AtomFunctionError,
118+ ProjectM36.Serialise.DataFrame,
119+ ProjectM36.Serialise.DatabaseContextFunctionError,
120+ ProjectM36.Serialise.IsomorphicSchema,
112121 ProjectM36.Session,
113122 ProjectM36.Sessions,
114123 ProjectM36.Transaction.Persist,
@@ -127,19 +136,19 @@ Library
127136 Other-Modules: ProjectM36.Win32Handle
128137 else
129138 --219- too many exported symbols under Windows and GHC 8.4
130− GHC-Options: -rdynamic
139+ GHC-Options: -rdynamic -fexternal-interpreter
131140 C-sources: cbits/DirectoryFsync.c, cbits/darwin_statfs.c
132141 Build-Depends: unix
133142 CC-Options: -fPIC
134143 Hs-Source-Dirs: ./src/lib
135144 Default-Language: Haskell2010
136145 Default-Extensions: OverloadedStrings, CPP
137− if !flag(stack)
146+ if !flag(stack)
138147 Build-Depends: deferred-folds
139148
140149Executable tutd
141150 if flag(haskell-scripting)
142− Build-Depends: ghc >= 8.2 && < 8.9
151+ Build-Depends: ghc >= 8.2 && < 8.11
143152 Build-Depends: base >=4.8 && <5.0,
144153 ghc-paths,
145154 project-m36,
@@ -154,13 +163,11 @@ Executable tutd
154163 MonadRandom, MonadRandom,
155164 vector,
156165 text,
157− vector-binary-instances,
158166 time,
159167 hashable-time,
160168 bytestring,
161169 stm,
162170 deepseq,
163− binary,
164171 data-interval,
165172 parallel,
166173 cassava,
@@ -168,7 +175,7 @@ Executable tutd
168175 directory,
169176 filepath,
170177 temporary,
171− megaparsec >= 5.2.0 && < 9,
178+ megaparsec >= 5.2.0 && < 10,
172179 haskeline,
173180 random, MonadRandom,
174181 base64-bytestring,
@@ -176,7 +183,15 @@ Executable tutd
176183 attoparsec,
177184 stm-containers >= 1.0.0,
178185 list-t,
179− parser-combinators
186+ parser-combinators,
187+ curryer-rpc,
188+ prettyprinter,
189+ cryptohash-sha256,
190+ --due to decode signature change
191+ base16-bytestring >= 1.0.0.0,
192+ http-conduit,
193+ modern-uri,
194+ http-types
180195 Other-Modules: TutorialD.Interpreter,
181196 TutorialD.Interpreter.Base,
182197 TutorialD.Interpreter.DatabaseContextExpr,
@@ -195,6 +210,7 @@ Executable tutd
195210 TutorialD.Interpreter.SchemaOperator,
196211 TutorialD.Interpreter.TransGraphRelationalOperator,
197212 TutorialD.Interpreter.SchemaOperator
213+ TutorialD.Printer
198214 main-is: TutorialD/tutd.hs
199215 CC-Options: -fPIC
200216 GHC-Options: -Wall -threaded
@@ -204,12 +220,11 @@ Executable tutd
204220
205221Executable project-m36-server
206222 if flag(haskell-scripting)
207− Build-Depends: ghc >= 8.2 && < 8.9
223+ Build-Depends: ghc >= 8.2 && < 8.11
208224 Build-Depends: base,
209225 ghc-paths,
210− project-m36,
211− binary,
212226 transformers,
227+ project-m36,
213228 temporary,
214229 data-interval,
215230 deepseq,
@@ -222,7 +237,6 @@ Executable project-m36-server
222237 optparse-applicative,
223238 hashable-time,
224239 time,
225− vector-binary-instances,
226240 text,
227241 deepseq-generics,
228242 mtl,
@@ -244,7 +258,7 @@ Executable project-m36-server
244258Executable bigrel
245259 Default-Language: Haskell2010
246260 Default-Extensions: OverloadedStrings
247− 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
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
248262 Other-Modules: TutorialD.Interpreter.Base,
249263 TutorialD.Interpreter.DatabaseContextExpr,
250264 TutorialD.Interpreter.RelationalExpr,
@@ -255,6 +269,13 @@ Executable bigrel
255269 if flag(profiler)
256270 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
257271
272+Common commontest
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
278+
258279Benchmark basic-benchmark
259280 Default-Language: Haskell2010
260281 Default-Extensions: OverloadedStrings
@@ -266,240 +287,202 @@ Benchmark basic-benchmark
266287 if flag(profiler)
267288 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
268289
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
299+ if flag(profiler)
300+ GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall -fexternal-interpreter
301+
269302Test-Suite test-tutoriald
270− Default-Language: Haskell2010
271− Default-Extensions: OverloadedStrings
303+ import: commontest
272304 type: exitcode-stdio-1.0
273− main-is: test/TutorialD/Interpreter.hs
274− 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
275− 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
276− GHC-Options: -Wall -threaded
277− Hs-Source-Dirs: ./src/bin, ., test
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
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
278308
279309Test-Suite test-tutoriald-atomfunctionscript
280− Default-Language: Haskell2010
281− Default-Extensions: OverloadedStrings
310+ import: commontest
282311 type: exitcode-stdio-1.0
283− 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
284− main-is: test/TutorialD/Interpreter/AtomFunctionScript.hs
285− Build-Depends: base, HUnit, project-m36, uuid, containers, megaparsec, text, vector, directory, bytestring, mtl, haskeline, random, MonadRandom, semigroups, time, parser-combinators
286− GHC-Options: -Wall -threaded
287− Hs-Source-Dirs: ./src/bin, ./test, .
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
313+ main-is: TutorialD/Interpreter/AtomFunctionScript.hs
288314
289315Test-Suite test-tutoriald-databasecontextfunctionscript
290− Default-Language: Haskell2010
291− Default-Extensions: OverloadedStrings
316+ import: commontest
292317 type: exitcode-stdio-1.0
293− 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
294− main-is: test/TutorialD/Interpreter/DatabaseContextFunctionScript.hs
295− Build-Depends: base, HUnit, project-m36, uuid, containers, megaparsec, text, vector, directory, bytestring, mtl, haskeline, random, MonadRandom, semigroups, time, parser-combinators
296− GHC-Options: -Wall -threaded
297− Hs-Source-Dirs: ./src/bin, ./test, .
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
319+ main-is: TutorialD/Interpreter/DatabaseContextFunctionScript.hs
298320
299321Test-Suite test-relation
300− Default-Language: Haskell2010
301− Default-Extensions: OverloadedStrings
322+ import: commontest
302323 type: exitcode-stdio-1.0
303− main-is: test/Relation/Basic.hs
304− 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
305− GHC-Options: -Wall -threaded
324+ main-is: Relation/Basic.hs
306325
307326Test-Suite test-static-optimizer
308− Default-Language: Haskell2010
309− Default-Extensions: OverloadedStrings
327+ import: commontest
310328 type: exitcode-stdio-1.0
311− main-is: test/Relation/StaticOptimizer.hs
312− 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
313− GHC-Options: -Wall -threaded
329+ main-is: Relation/StaticOptimizer.hs
314330
315331Test-Suite test-transactiongraph-persist
316− Default-Language: Haskell2010
317− Default-Extensions: OverloadedStrings
332+ import: commontest
318333 type: exitcode-stdio-1.0
319− main-is: test/TransactionGraph/Persist.hs
320− 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
321− Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.BasicExamples
322− Hs-Source-Dirs: ., ./src/bin
323− GHC-Options: -Wall -threaded
334+ main-is: TransactionGraph/Persist.hs
335+ Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Printer
324336
325337Test-Suite test-relation-import-csv
326− Default-Language: Haskell2010
327− Default-Extensions: OverloadedStrings
338+ import: commontest
328339 type: exitcode-stdio-1.0
329− main-is: test/Relation/Import/CSV.hs
330− 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
331− GHC-Options: -Wall -threaded
340+ main-is: Relation/Import/CSV.hs
332341
333342Test-Suite test-tutoriald-import-tutoriald
334− Default-Language: Haskell2010
335− Default-Extensions: OverloadedStrings
343+ import: commontest
336344 type: exitcode-stdio-1.0
337− main-is: test/TutorialD/Interpreter/Import/TutorialD.hs
338− 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
339− 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
340− GHC-Options: -Wall -threaded
341− Hs-Source-Dirs: ., ./src/bin
345+ main-is: TutorialD/Interpreter/Import/ImportTest.hs
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
342347
343348Test-Suite test-relation-export-csv
344− Default-Language: Haskell2010
345− Default-Extensions: OverloadedStrings
349+ import: commontest
346350 type: exitcode-stdio-1.0
347− main-is: test/Relation/Export/CSV.hs
348− 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
349− GHC-Options: -Wall -threaded
351+ main-is: Relation/Export/CSV.hs
350352
351353Test-Suite test-transactiongraph-merge
352− Default-Language: Haskell2010
353− Default-Extensions: OverloadedStrings
354+ import: commontest
354355 type: exitcode-stdio-1.0
355− main-is: test/TransactionGraph/Merge.hs
356− 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− GHC-Options: -Wall -threaded
356+ main-is: TransactionGraph/Merge.hs
357+
358+
359+Test-Suite test-prettyprinter
360+ import: commontest
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
358364
359365benchmark bench
360− Default-Language: Haskell2010
361− Default-Extensions: OverloadedStrings
366+ import: commontest
362367 type: exitcode-stdio-1.0
363368 main-is: benchmark/Relation.hs
364− 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
365− GHC-Options: -Wall -rtsopts -threaded
366− Hs-Source-Dirs: ./src/bin
367369
368370Test-Suite test-server
369− Default-Language: Haskell2010
370− Default-Extensions: OverloadedStrings
371+ import: commontest
371372 type: exitcode-stdio-1.0
372− main-is: test/Server/Main.hs
373− 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− HS-Source-Dirs: ., ./src/bin
375− GHC-Options: -Wall -threaded
373+ main-is: Server/Main.hs
374+
376375
377376Executable Example-SimpleClient
378377 Default-Language: Haskell2010
379378 Default-Extensions: OverloadedStrings
380− 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
381380 Main-Is: examples/SimpleClient.hs
382381 GHC-Options: -Wall -threaded
383382
384383Executable Example-OutOfTheTarpit
385384 Default-Language: Haskell2010
386385 Default-Extensions: OverloadedStrings
387− 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
388387 Main-Is: examples/out_of_the_tarpit.hs
389388 GHC-Options: -Wall -threaded
390389
391390Executable Example-Blog
392391 Default-Language: Haskell2010
393392 Default-Extensions: OverloadedStrings
394− 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
395394 Main-Is: examples/blog.hs
396395 GHC-Options: -Wall -threaded
397396
398−
399397Executable Example-Hair
400398 Default-Language: Haskell2010
401399 Default-Extensions: OverloadedStrings
402− 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
403401 Main-Is: examples/hair.hs
404402 GHC-Options: -Wall -threaded
405403
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
410+
406411Executable Example-CustomTupleable
407412 Default-Language: Haskell2010
408413 Default-Extensions: OverloadedStrings
409− 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
410415 Main-Is: examples/CustomTupleable.hs
411416 GHC-Options: -Wall -threaded
412417
413−Test-Suite test-scripts
418+Executable Example-DerivingCustomTupleable
419+ if impl(ghc>=8.6)
420+ Buildable: True
421+ else
422+ Buildable: False
414423 Default-Language: Haskell2010
415− Default-Extensions: OverloadedStrings
416− type: exitcode-stdio-1.0
417− main-is: test/scripts.hs
418− 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
419− 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
424+ Build-Depends: base, text, deepseq, project-m36, winery
425+ Main-Is: examples/DerivingCustomTupleable.hs
420426 GHC-Options: -Wall -threaded
421− Hs-Source-Dirs: ., ./src/bin
427+
428+Test-Suite test-scripts
429+ import: commontest
430+ type: exitcode-stdio-1.0
431+ main-is: scripts.hs
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
422433
423434Executable project-m36-websocket-server
424435 Default-Language: Haskell2010
425− 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
426437 Main-Is: ProjectM36/Server/WebSocket/websocket-server.hs
427− 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
428439 GHC-Options: -Wall -threaded
429440 Hs-Source-Dirs: ./src/bin
430441 Default-Extensions: OverloadedStrings
431442
432443Test-Suite test-websocket-server
433− Default-Language: Haskell2010
444+ import: commontest
434445 type: exitcode-stdio-1.0
435− main-is: test/Server/WebSocket.hs
436− 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
437− 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
438− Default-Extensions: OverloadedStrings
439− GHC-Options: -Wall -threaded
440− Hs-Source-Dirs: ./src/bin, .
446+ main-is: Server/WebSocket.hs
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
441448
442449Test-Suite test-isomorphic-schemas
443− Default-Language: Haskell2010
450+ import: commontest
444451 type: exitcode-stdio-1.0
445− main-is: test/IsomorphicSchema.hs
446− 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
447− Default-Extensions: OverloadedStrings
448− GHC-Options: -Wall -threaded
449− Hs-Source-Dirs: ./src/bin, .
452+ main-is: IsomorphicSchema.hs
450453
451454Test-Suite test-atomable
452− Default-Language: Haskell2010
455+ import: commontest
453456 type: exitcode-stdio-1.0
454− main-is: test/Relation/Atomable.hs
455− 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
456− 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
457− Default-Extensions: OverloadedStrings
458− GHC-Options: -Wall -threaded
459− Hs-Source-Dirs: ./src/bin, ., test/
457+ main-is: Relation/Atomable.hs
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
460459
461460Test-Suite test-multiprocess-access
462− Default-Language: Haskell2010
461+ import: commontest
463462 type: exitcode-stdio-1.0
464− main-is: test/MultiProcessDatabaseAccess.hs
465− 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
466− Default-Extensions: OverloadedStrings
467− GHC-Options: -Wall -threaded
468− Hs-Source-Dirs: ./src/bin, ., test/
463+ main-is: MultiProcessDatabaseAccess.hs
469464
470465Test-Suite test-transactiongraph-automerge
471− Default-Language: Haskell2010
466+ import: commontest
472467 type: exitcode-stdio-1.0
473− main-is: test/TransactionGraph/Automerge.hs
474− 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
475− 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
476− Default-Extensions: OverloadedStrings
477− GHC-Options: -Wall -threaded
478− Hs-Source-Dirs: ./src/bin, ., test/
468+ main-is: TransactionGraph/Automerge.hs
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
479470
480471Test-Suite test-tupleable
481− Default-Language: Haskell2010
472+ import: commontest
482473 type: exitcode-stdio-1.0
483− main-is: test/Relation/Tupleable.hs
484− 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
485− Default-Extensions: OverloadedStrings
486− GHC-Options: -Wall -threaded
487− Hs-Source-Dirs: ./src/bin, ., test/
474+ main-is: Relation/Tupleable.hs
488475
489476Test-Suite test-client-simple
490− Default-Language: Haskell2010
491− Main-Is: test/Client/Simple.hs
477+ import: commontest
478+ Main-Is: Client/Simple.hs
492479 type: exitcode-stdio-1.0
493− 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
494− Default-Extensions: OverloadedStrings
495− GHC-Options: -Wall -threaded
496− Hs-Source-Dirs: ./src/bin, ., test/
497480
498481-- test for file handle leaks
499482Executable handles
500483 Default-Language: Haskell2010
501484 Default-Extensions: OverloadedStrings
502− 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
503486 main-is: benchmark/Handles.hs
504487 Other-Modules: TutorialD.Interpreter,
505488 TutorialD.Interpreter.Base,
@@ -518,17 +501,14 @@ Executable handles
518501 TutorialD.Interpreter.TransGraphRelationalOperator,
519502 TutorialD.Interpreter.TransactionGraphOperator,
520503 TutorialD.Interpreter.Types
504+ TutorialD.Printer
521505 GHC-Options: -Wall -threaded -rtsopts
522506 HS-Source-Dirs: ./src/bin
523507 if flag(profiler)
524508 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
525509
526510Test-Suite test-dataframe
527− Default-Language: Haskell2010
528− Main-Is: test/DataFrame.hs
511+ import: commontest
529512 type: exitcode-stdio-1.0
530− 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
531− 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
532− Default-Extensions: OverloadedStrings
533− GHC-Options: -Wall -threaded
534− Hs-Source-Dirs: ./src/bin, ., test/
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