@@ -1,8 +1,8 @@
1Cabal-Version: 2.2
1Cabal-Version: 2.2
2Name: project-m36
2Name: project-m36
3−Version: 0.9.3
3+Version: 0.9.2
4License: MIT
4License: 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
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
6Build-Type: Simple
7Homepage: https://github.com/agentm/project-m36
7Homepage: https://github.com/agentm/project-m36
8Bug-Reports: https://github.com/agentm/project-m36/issues
8Bug-Reports: https://github.com/agentm/project-m36/issues
@@ -35,7 +35,7 @@ Flag haskell-scripting
35 Default: True
35 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
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.3, winery, curryer-rpc, network, async, vector-instances, recursion-schemes
39 if flag(haskell-scripting)
39 if flag(haskell-scripting)
40 Build-Depends: ghc >= 8.2 && < 8.11
40 Build-Depends: ghc >= 8.2 && < 8.11
41 CPP-Options: -DPM36_HASKELL_SCRIPTING
41 CPP-Options: -DPM36_HASKELL_SCRIPTING
@@ -63,7 +63,6 @@ Library
63 ProjectM36.AtomFunction,
63 ProjectM36.AtomFunction,
64 ProjectM36.AtomFunctionError,
64 ProjectM36.AtomFunctionError,
65 ProjectM36.ScriptSession,
65 ProjectM36.ScriptSession,
66− ProjectM36.Shortcuts,
67 ProjectM36.DatabaseContextFunction,
66 ProjectM36.DatabaseContextFunction,
68 ProjectM36.DatabaseContextFunctionError,
67 ProjectM36.DatabaseContextFunctionError,
69 ProjectM36.DatabaseContextFunctionUtils,
68 ProjectM36.DatabaseContextFunctionUtils,
@@ -143,7 +142,7 @@ Library
143 Hs-Source-Dirs: ./src/lib
142 Hs-Source-Dirs: ./src/lib
144 Default-Language: Haskell2010
143 Default-Language: Haskell2010
145 Default-Extensions: OverloadedStrings, CPP
144 Default-Extensions: OverloadedStrings, CPP
146− if !flag(stack)
145+ if !flag(stack)
147 Build-Depends: deferred-folds
146 Build-Depends: deferred-folds
149Executable tutd
148Executable tutd
@@ -175,7 +174,7 @@ Executable tutd
175 directory,
174 directory,
176 filepath,
175 filepath,
177 temporary,
176 temporary,
178− megaparsec >= 5.2.0 && < 10,
177+ megaparsec >= 5.2.0 && < 9,
179 haskeline,
178 haskeline,
180 random, MonadRandom,
179 random, MonadRandom,
181 base64-bytestring,
180 base64-bytestring,
@@ -185,13 +184,7 @@ Executable tutd
186 parser-combinators,
185 parser-combinators,
187 curryer-rpc,
186 curryer-rpc,
188− prettyprinter,
187+ prettyprinter
190− --due to decode signature change
191− base16-bytestring >= 1.0.0.0,
195 Other-Modules: TutorialD.Interpreter,
188 Other-Modules: TutorialD.Interpreter,
196 TutorialD.Interpreter.Base,
189 TutorialD.Interpreter.Base,
197 TutorialD.Interpreter.DatabaseContextExpr,
190 TutorialD.Interpreter.DatabaseContextExpr,
@@ -237,6 +230,7 @@ Executable project-m36-server
237 optparse-applicative,
230 optparse-applicative,
238 hashable-time,
231 hashable-time,
233+ vector-binary-instances,
241 deepseq-generics,
235 deepseq-generics,
@@ -258,7 +252,7 @@ Executable project-m36-server
258Executable bigrel
252Executable bigrel
259 Default-Language: Haskell2010
253 Default-Language: Haskell2010
260 Default-Extensions: OverloadedStrings
254 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
255+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, optparse-applicative, stm-containers, list-t, ghc, ghc-paths, transformers, project-m36, random, MonadRandom, semigroups, parser-combinators
262 Other-Modules: TutorialD.Interpreter.Base,
256 Other-Modules: TutorialD.Interpreter.Base,
263 TutorialD.Interpreter.DatabaseContextExpr,
257 TutorialD.Interpreter.DatabaseContextExpr,
264 TutorialD.Interpreter.RelationalExpr,
258 TutorialD.Interpreter.RelationalExpr,
@@ -270,11 +264,11 @@ Executable bigrel
270 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
264 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
272Common commontest
266Common commontest
273− Default-Language: Haskell2010
267+ 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
268+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, 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
275 Default-Extensions: OverloadedStrings
269 Default-Extensions: OverloadedStrings
276 GHC-Options: -Wall -threaded
270 GHC-Options: -Wall -threaded
277− Hs-Source-Dirs: test, src/bin
271+ Hs-Source-Dirs: ./src/bin, ., test/
279Benchmark basic-benchmark
273Benchmark basic-benchmark
280 Default-Language: Haskell2010
274 Default-Language: Haskell2010
@@ -287,7 +281,7 @@ Benchmark basic-benchmark
287 if flag(profiler)
281 if flag(profiler)
288 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
282 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
290−--benchmark inserts, updates, deletes for a basic use-case to shake out any space leaks
284+--benchmark inserts, updates, deletes for a basic use-case to shake out any space leaks
291Benchmark update-exprs
285Benchmark update-exprs
292 Default-Language: Haskell2010
286 Default-Language: Haskell2010
293 Default-Extensions: OverloadedStrings
287 Default-Extensions: OverloadedStrings
@@ -302,64 +296,64 @@ Benchmark update-exprs
302Test-Suite test-tutoriald
296Test-Suite test-tutoriald
303 import: commontest
297 import: commontest
304 type: exitcode-stdio-1.0
298 type: exitcode-stdio-1.0
305− main-is: TutorialD/InterpreterTest.hs
299+ main-is: test/TutorialD/Interpreter.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
300 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
301+ 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
309Test-Suite test-tutoriald-atomfunctionscript
303Test-Suite test-tutoriald-atomfunctionscript
310 import: commontest
304 import: commontest
311 type: exitcode-stdio-1.0
305 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
306 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
307+ main-is: test/TutorialD/Interpreter/AtomFunctionScript.hs
315Test-Suite test-tutoriald-databasecontextfunctionscript
309Test-Suite test-tutoriald-databasecontextfunctionscript
316 import: commontest
310 import: commontest
317 type: exitcode-stdio-1.0
311 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
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
319− main-is: TutorialD/Interpreter/DatabaseContextFunctionScript.hs
313+ main-is: test/TutorialD/Interpreter/DatabaseContextFunctionScript.hs
321Test-Suite test-relation
315Test-Suite test-relation
322 import: commontest
316 import: commontest
323 type: exitcode-stdio-1.0
317 type: exitcode-stdio-1.0
324− main-is: Relation/Basic.hs
318+ main-is: test/Relation/Basic.hs
326Test-Suite test-static-optimizer
320Test-Suite test-static-optimizer
327 import: commontest
321 import: commontest
328 type: exitcode-stdio-1.0
322 type: exitcode-stdio-1.0
329− main-is: Relation/StaticOptimizer.hs
323+ main-is: test/Relation/StaticOptimizer.hs
331Test-Suite test-transactiongraph-persist
325Test-Suite test-transactiongraph-persist
332 import: commontest
326 import: commontest
333 type: exitcode-stdio-1.0
327 type: exitcode-stdio-1.0
334− main-is: TransactionGraph/Persist.hs
328+ main-is: test/TransactionGraph/Persist.hs
335 Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Printer
329 Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Printer
337Test-Suite test-relation-import-csv
331Test-Suite test-relation-import-csv
338 import: commontest
332 import: commontest
339 type: exitcode-stdio-1.0
333 type: exitcode-stdio-1.0
340− main-is: Relation/Import/CSV.hs
334+ main-is: test/Relation/Import/CSV.hs
342Test-Suite test-tutoriald-import-tutoriald
336Test-Suite test-tutoriald-import-tutoriald
343 import: commontest
337 import: commontest
344 type: exitcode-stdio-1.0
338 type: exitcode-stdio-1.0
345− main-is: TutorialD/Interpreter/Import/ImportTest.hs
339+ main-is: test/TutorialD/Interpreter/Import/TutorialD.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
340 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
348Test-Suite test-relation-export-csv
342Test-Suite test-relation-export-csv
349 import: commontest
343 import: commontest
350 type: exitcode-stdio-1.0
344 type: exitcode-stdio-1.0
351− main-is: Relation/Export/CSV.hs
345+ main-is: test/Relation/Export/CSV.hs
353Test-Suite test-transactiongraph-merge
347Test-Suite test-transactiongraph-merge
354 import: commontest
348 import: commontest
355 type: exitcode-stdio-1.0
349 type: exitcode-stdio-1.0
356− main-is: TransactionGraph/Merge.hs
350+ main-is: test/TransactionGraph/Merge.hs
359Test-Suite test-prettyprinter
353Test-Suite test-prettyprinter
360 import: commontest
354 import: commontest
361 type: exitcode-stdio-1.0
355 type: exitcode-stdio-1.0
362− main-is: TutorialD/PrinterTest.hs
356+ main-is: test/TutorialD/Printer.hs
363 Other-Modules: TutorialD.Printer, TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types
357 Other-Modules: TutorialD.Printer, TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types
365benchmark bench
359benchmark bench
@@ -370,48 +364,41 @@ benchmark bench
370Test-Suite test-server
364Test-Suite test-server
371 import: commontest
365 import: commontest
372 type: exitcode-stdio-1.0
366 type: exitcode-stdio-1.0
373− main-is: Server/Main.hs
367+ main-is: test/Server/Main.hs
376Executable Example-SimpleClient
370Executable Example-SimpleClient
377 Default-Language: Haskell2010
371 Default-Language: Haskell2010
378 Default-Extensions: OverloadedStrings
372 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
373+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, 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
380 Main-Is: examples/SimpleClient.hs
374 Main-Is: examples/SimpleClient.hs
381 GHC-Options: -Wall -threaded
375 GHC-Options: -Wall -threaded
383Executable Example-OutOfTheTarpit
377Executable Example-OutOfTheTarpit
384 Default-Language: Haskell2010
378 Default-Language: Haskell2010
385 Default-Extensions: OverloadedStrings
379 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
380+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, 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
387 Main-Is: examples/out_of_the_tarpit.hs
381 Main-Is: examples/out_of_the_tarpit.hs
388 GHC-Options: -Wall -threaded
382 GHC-Options: -Wall -threaded
390Executable Example-Blog
384Executable Example-Blog
391 Default-Language: Haskell2010
385 Default-Language: Haskell2010
392 Default-Extensions: OverloadedStrings
386 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
387+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, 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
394 Main-Is: examples/blog.hs
388 Main-Is: examples/blog.hs
395 GHC-Options: -Wall -threaded
389 GHC-Options: -Wall -threaded
397Executable Example-Hair
391Executable Example-Hair
398 Default-Language: Haskell2010
392 Default-Language: Haskell2010
399 Default-Extensions: OverloadedStrings
393 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
394+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, 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
401 Main-Is: examples/hair.hs
395 Main-Is: examples/hair.hs
402 GHC-Options: -Wall -threaded
396 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
398Executable Example-CustomTupleable
412 Default-Language: Haskell2010
399 Default-Language: Haskell2010
413 Default-Extensions: OverloadedStrings
400 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
401+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, 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 Main-Is: examples/CustomTupleable.hs
402 Main-Is: examples/CustomTupleable.hs
416 GHC-Options: -Wall -threaded
403 GHC-Options: -Wall -threaded
@@ -428,12 +415,12 @@ Executable Example-DerivingCustomTupleable
428Test-Suite test-scripts
415Test-Suite test-scripts
429 import: commontest
416 import: commontest
430 type: exitcode-stdio-1.0
417 type: exitcode-stdio-1.0
431− main-is: scripts.hs
418+ main-is: test/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
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, TutorialD.Printer
434Executable project-m36-websocket-server
421Executable project-m36-websocket-server
435 Default-Language: Haskell2010
422 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
423+ 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
437 Main-Is: ProjectM36/Server/WebSocket/websocket-server.hs
424 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
425 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
439 GHC-Options: -Wall -threaded
426 GHC-Options: -Wall -threaded
@@ -443,46 +430,46 @@ Executable project-m36-websocket-server
443Test-Suite test-websocket-server
430Test-Suite test-websocket-server
444 import: commontest
431 import: commontest
445 type: exitcode-stdio-1.0
432 type: exitcode-stdio-1.0
446− main-is: Server/WebSocket.hs
433+ main-is: test/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
434 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
449Test-Suite test-isomorphic-schemas
436Test-Suite test-isomorphic-schemas
450 import: commontest
437 import: commontest
451 type: exitcode-stdio-1.0
438 type: exitcode-stdio-1.0
452− main-is: IsomorphicSchema.hs
439+ main-is: test/IsomorphicSchema.hs
454Test-Suite test-atomable
441Test-Suite test-atomable
455 import: commontest
442 import: commontest
456 type: exitcode-stdio-1.0
443 type: exitcode-stdio-1.0
457− main-is: Relation/Atomable.hs
444+ main-is: test/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
445 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
460Test-Suite test-multiprocess-access
447Test-Suite test-multiprocess-access
461 import: commontest
448 import: commontest
462 type: exitcode-stdio-1.0
449 type: exitcode-stdio-1.0
463− main-is: MultiProcessDatabaseAccess.hs
450+ main-is: test/MultiProcessDatabaseAccess.hs
465Test-Suite test-transactiongraph-automerge
452Test-Suite test-transactiongraph-automerge
466 import: commontest
453 import: commontest
467 type: exitcode-stdio-1.0
454 type: exitcode-stdio-1.0
468− main-is: TransactionGraph/Automerge.hs
455+ main-is: test/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
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, TutorialD.Printer
471Test-Suite test-tupleable
458Test-Suite test-tupleable
472 import: commontest
459 import: commontest
473 type: exitcode-stdio-1.0
460 type: exitcode-stdio-1.0
474− main-is: Relation/Tupleable.hs
461+ main-is: test/Relation/Tupleable.hs
476Test-Suite test-client-simple
463Test-Suite test-client-simple
477 import: commontest
464 import: commontest
478− Main-Is: Client/Simple.hs
465+ Main-Is: test/Client/Simple.hs
479 type: exitcode-stdio-1.0
466 type: exitcode-stdio-1.0
481-- test for file handle leaks
468-- test for file handle leaks
482Executable handles
469Executable handles
483 Default-Language: Haskell2010
470 Default-Language: Haskell2010
484 Default-Extensions: OverloadedStrings
471 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
472+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, 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
486 main-is: benchmark/Handles.hs
473 main-is: benchmark/Handles.hs
487 Other-Modules: TutorialD.Interpreter,
474 Other-Modules: TutorialD.Interpreter,
488 TutorialD.Interpreter.Base,
475 TutorialD.Interpreter.Base,
@@ -506,9 +493,9 @@ Executable handles
506 HS-Source-Dirs: ./src/bin
493 HS-Source-Dirs: ./src/bin
507 if flag(profiler)
494 if flag(profiler)
508 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
495 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
510Test-Suite test-dataframe
497Test-Suite test-dataframe
511 import: commontest
498 import: commontest
512 type: exitcode-stdio-1.0
499 type: exitcode-stdio-1.0
513− Main-Is: DataFrame.hs
500+ Main-Is: test/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
501 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