@@ -1,8 +1,7 @@
11Cabal-Version: 2.2
22Name: project-m36
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
3+Version: 0.9.0
4+License: Unlicense
65Build-Type: Simple
76Homepage: https://github.com/agentm/project-m36
87Bug-Reports: https://github.com/agentm/project-m36/issues
@@ -35,7 +34,7 @@ Flag haskell-scripting
3534 Default: True
3635
3736Library
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, filepath, zlib, directory, 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, list-t, stm-containers >= 0.2.15, foldl, optparse-applicative, Glob, cryptohash-sha256, text-manipulate >= 0.2.0.1 && < 0.3, winery, curryer, network, async, vector-instances
3938 if flag(haskell-scripting)
4039 Build-Depends: ghc >= 8.2 && < 8.11
4140 CPP-Options: -DPM36_HASKELL_SCRIPTING
@@ -63,7 +62,6 @@ Library
6362 ProjectM36.AtomFunction,
6463 ProjectM36.AtomFunctionError,
6564 ProjectM36.ScriptSession,
66− ProjectM36.Shortcuts,
6765 ProjectM36.DatabaseContextFunction,
6866 ProjectM36.DatabaseContextFunctionError,
6967 ProjectM36.DatabaseContextFunctionUtils,
@@ -136,14 +134,14 @@ Library
136134 Other-Modules: ProjectM36.Win32Handle
137135 else
138136 --219- too many exported symbols under Windows and GHC 8.4
139− GHC-Options: -rdynamic -fexternal-interpreter
137+ GHC-Options: -rdynamic
140138 C-sources: cbits/DirectoryFsync.c, cbits/darwin_statfs.c
141139 Build-Depends: unix
142140 CC-Options: -fPIC
143141 Hs-Source-Dirs: ./src/lib
144142 Default-Language: Haskell2010
145143 Default-Extensions: OverloadedStrings, CPP
146− if !flag(stack)
144+ if !flag(stack)
147145 Build-Depends: deferred-folds
148146
149147Executable tutd
@@ -175,7 +173,7 @@ Executable tutd
175173 directory,
176174 filepath,
177175 temporary,
178− megaparsec >= 5.2.0 && < 10,
176+ megaparsec >= 5.2.0 && < 9,
179177 haskeline,
180178 random, MonadRandom,
181179 base64-bytestring,
@@ -184,14 +182,8 @@ Executable tutd
184182 stm-containers >= 1.0.0,
185183 list-t,
186184 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
185+ curryer,
186+ prettyprinter
195187 Other-Modules: TutorialD.Interpreter,
196188 TutorialD.Interpreter.Base,
197189 TutorialD.Interpreter.DatabaseContextExpr,
@@ -237,6 +229,7 @@ Executable project-m36-server
237229 optparse-applicative,
238230 hashable-time,
239231 time,
232+ vector-binary-instances,
240233 text,
241234 deepseq-generics,
242235 mtl,
@@ -258,7 +251,7 @@ Executable project-m36-server
258251Executable bigrel
259252 Default-Language: Haskell2010
260253 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
254+ 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
262255 Other-Modules: TutorialD.Interpreter.Base,
263256 TutorialD.Interpreter.DatabaseContextExpr,
264257 TutorialD.Interpreter.RelationalExpr,
@@ -270,11 +263,11 @@ Executable bigrel
270263 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
271264
272265Common 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
266+ Default-Language: Haskell2010
267+ 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, prettyprinter, base64-bytestring
275268 Default-Extensions: OverloadedStrings
276269 GHC-Options: -Wall -threaded
277− Hs-Source-Dirs: test, src/bin
270+ Hs-Source-Dirs: ./src/bin, ., test/
278271
279272Benchmark basic-benchmark
280273 Default-Language: Haskell2010
@@ -287,79 +280,67 @@ Benchmark basic-benchmark
287280 if flag(profiler)
288281 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
289282
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−
302283Test-Suite test-tutoriald
303284 import: commontest
304285 type: exitcode-stdio-1.0
305− main-is: TutorialD/InterpreterTest.hs
286+ main-is: test/TutorialD/Interpreter.hs
306287 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
288+ 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
308289
309290Test-Suite test-tutoriald-atomfunctionscript
310291 import: commontest
311292 type: exitcode-stdio-1.0
312293 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
294+ main-is: test/TutorialD/Interpreter/AtomFunctionScript.hs
314295
315296Test-Suite test-tutoriald-databasecontextfunctionscript
316297 import: commontest
317298 type: exitcode-stdio-1.0
318299 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
300+ main-is: test/TutorialD/Interpreter/DatabaseContextFunctionScript.hs
320301
321302Test-Suite test-relation
322303 import: commontest
323304 type: exitcode-stdio-1.0
324− main-is: Relation/Basic.hs
305+ main-is: test/Relation/Basic.hs
325306
326307Test-Suite test-static-optimizer
327308 import: commontest
328309 type: exitcode-stdio-1.0
329− main-is: Relation/StaticOptimizer.hs
310+ main-is: test/Relation/StaticOptimizer.hs
330311
331312Test-Suite test-transactiongraph-persist
332313 import: commontest
333314 type: exitcode-stdio-1.0
334− main-is: TransactionGraph/Persist.hs
315+ main-is: test/TransactionGraph/Persist.hs
335316 Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Printer
336317
337318Test-Suite test-relation-import-csv
338319 import: commontest
339320 type: exitcode-stdio-1.0
340− main-is: Relation/Import/CSV.hs
321+ main-is: test/Relation/Import/CSV.hs
341322
342323Test-Suite test-tutoriald-import-tutoriald
343324 import: commontest
344325 type: exitcode-stdio-1.0
345− main-is: TutorialD/Interpreter/Import/ImportTest.hs
326+ main-is: test/TutorialD/Interpreter/Import/TutorialD.hs
346327 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
347328
348329Test-Suite test-relation-export-csv
349330 import: commontest
350331 type: exitcode-stdio-1.0
351− main-is: Relation/Export/CSV.hs
332+ main-is: test/Relation/Export/CSV.hs
352333
353334Test-Suite test-transactiongraph-merge
354335 import: commontest
355336 type: exitcode-stdio-1.0
356− main-is: TransactionGraph/Merge.hs
337+ main-is: test/TransactionGraph/Merge.hs
357338
358339
359340Test-Suite test-prettyprinter
360341 import: commontest
361342 type: exitcode-stdio-1.0
362− main-is: TutorialD/PrinterTest.hs
343+ main-is: test/TutorialD/Printer.hs
363344 Other-Modules: TutorialD.Printer, TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types
364345
365346benchmark bench
@@ -370,48 +351,41 @@ benchmark bench
370351Test-Suite test-server
371352 import: commontest
372353 type: exitcode-stdio-1.0
373− main-is: Server/Main.hs
354+ main-is: test/Server/Main.hs
374355
375356
376357Executable Example-SimpleClient
377358 Default-Language: Haskell2010
378359 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
360+ 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
380361 Main-Is: examples/SimpleClient.hs
381362 GHC-Options: -Wall -threaded
382363
383364Executable Example-OutOfTheTarpit
384365 Default-Language: Haskell2010
385366 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
367+ 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
387368 Main-Is: examples/out_of_the_tarpit.hs
388369 GHC-Options: -Wall -threaded
389370
390371Executable Example-Blog
391372 Default-Language: Haskell2010
392373 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
374+ 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
394375 Main-Is: examples/blog.hs
395376 GHC-Options: -Wall -threaded
396377
397378Executable Example-Hair
398379 Default-Language: Haskell2010
399380 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
381+ 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
401382 Main-Is: examples/hair.hs
402383 GHC-Options: -Wall -threaded
403384
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−
411385Executable Example-CustomTupleable
412386 Default-Language: Haskell2010
413387 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
388+ 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
415389 Main-Is: examples/CustomTupleable.hs
416390 GHC-Options: -Wall -threaded
417391
@@ -428,12 +402,13 @@ Executable Example-DerivingCustomTupleable
428402Test-Suite test-scripts
429403 import: commontest
430404 type: exitcode-stdio-1.0
431− main-is: scripts.hs
405+ main-is: test/scripts.hs
432406 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
433407
434408Executable project-m36-websocket-server
435409 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
410+ 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, prettyprinter, network
411+ 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
437412 Main-Is: ProjectM36/Server/WebSocket/websocket-server.hs
438413 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
439414 GHC-Options: -Wall -threaded
@@ -443,46 +418,46 @@ Executable project-m36-websocket-server
443418Test-Suite test-websocket-server
444419 import: commontest
445420 type: exitcode-stdio-1.0
446− main-is: Server/WebSocket.hs
421+ main-is: test/Server/WebSocket.hs
447422 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
448423
449424Test-Suite test-isomorphic-schemas
450425 import: commontest
451426 type: exitcode-stdio-1.0
452− main-is: IsomorphicSchema.hs
427+ main-is: test/IsomorphicSchema.hs
453428
454429Test-Suite test-atomable
455430 import: commontest
456431 type: exitcode-stdio-1.0
457− main-is: Relation/Atomable.hs
432+ main-is: test/Relation/Atomable.hs
458433 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
459434
460435Test-Suite test-multiprocess-access
461436 import: commontest
462437 type: exitcode-stdio-1.0
463− main-is: MultiProcessDatabaseAccess.hs
438+ main-is: test/MultiProcessDatabaseAccess.hs
464439
465440Test-Suite test-transactiongraph-automerge
466441 import: commontest
467442 type: exitcode-stdio-1.0
468− main-is: TransactionGraph/Automerge.hs
443+ main-is: test/TransactionGraph/Automerge.hs
469444 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
470445
471446Test-Suite test-tupleable
472447 import: commontest
473448 type: exitcode-stdio-1.0
474− main-is: Relation/Tupleable.hs
449+ main-is: test/Relation/Tupleable.hs
475450
476451Test-Suite test-client-simple
477452 import: commontest
478− Main-Is: Client/Simple.hs
453+ Main-Is: test/Client/Simple.hs
479454 type: exitcode-stdio-1.0
480455
481456-- test for file handle leaks
482457Executable handles
483458 Default-Language: Haskell2010
484459 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
460+ 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
486461 main-is: benchmark/Handles.hs
487462 Other-Modules: TutorialD.Interpreter,
488463 TutorialD.Interpreter.Base,
@@ -506,9 +481,9 @@ Executable handles
506481 HS-Source-Dirs: ./src/bin
507482 if flag(profiler)
508483 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
509−
484+
510485Test-Suite test-dataframe
511486 import: commontest
512487 type: exitcode-stdio-1.0
513− Main-Is: DataFrame.hs
488+ Main-Is: test/DataFrame.hs
514489 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