@@ -1,8 +1,8 @@
11Cabal-Version: 2.2
22Name: project-m36
3−Version: 0.9.3
3+Version: 0.9.2
44License: 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
66Build-Type: Simple
77Homepage: https://github.com/agentm/project-m36
88Bug-Reports: https://github.com/agentm/project-m36/issues
@@ -35,7 +35,7 @@ Flag haskell-scripting
3535 Default: True
3636
3737Library
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.4, winery, curryer-rpc, network, async, vector-instances, recursion-schemes
3939 if flag(haskell-scripting)
4040 Build-Depends: ghc >= 8.2 && < 8.11
4141 CPP-Options: -DPM36_HASKELL_SCRIPTING
@@ -63,7 +63,6 @@ Library
6363 ProjectM36.AtomFunction,
6464 ProjectM36.AtomFunctionError,
6565 ProjectM36.ScriptSession,
66− ProjectM36.Shortcuts,
6766 ProjectM36.DatabaseContextFunction,
6867 ProjectM36.DatabaseContextFunctionError,
6968 ProjectM36.DatabaseContextFunctionUtils,
@@ -143,7 +142,7 @@ Library
143142 Hs-Source-Dirs: ./src/lib
144143 Default-Language: Haskell2010
145144 Default-Extensions: OverloadedStrings, CPP
146− if !flag(stack)
145+ if !flag(stack)
147146 Build-Depends: deferred-folds
148147
149148Executable tutd
@@ -185,13 +184,7 @@ Executable tutd
185184 list-t,
186185 parser-combinators,
187186 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
187+ prettyprinter
195188 Other-Modules: TutorialD.Interpreter,
196189 TutorialD.Interpreter.Base,
197190 TutorialD.Interpreter.DatabaseContextExpr,
@@ -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, 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
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,7 +280,7 @@ 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
283+--benchmark inserts, updates, deletes for a basic use-case to shake out any space leaks
291284Benchmark update-exprs
292285 Default-Language: Haskell2010
293286 Default-Extensions: OverloadedStrings
@@ -302,7 +295,7 @@ Benchmark update-exprs
302295Test-Suite test-tutoriald
303296 import: commontest
304297 type: exitcode-stdio-1.0
305− main-is: TutorialD/InterpreterTest.hs
298+ main-is: test/TutorialD/Interpreter.hs
306299 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
307300 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
308301
@@ -310,56 +303,56 @@ Test-Suite test-tutoriald-atomfunctionscript
310303 import: commontest
311304 type: exitcode-stdio-1.0
312305 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
306+ main-is: test/TutorialD/Interpreter/AtomFunctionScript.hs
314307
315308Test-Suite test-tutoriald-databasecontextfunctionscript
316309 import: commontest
317310 type: exitcode-stdio-1.0
318311 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
312+ main-is: test/TutorialD/Interpreter/DatabaseContextFunctionScript.hs
320313
321314Test-Suite test-relation
322315 import: commontest
323316 type: exitcode-stdio-1.0
324− main-is: Relation/Basic.hs
317+ main-is: test/Relation/Basic.hs
325318
326319Test-Suite test-static-optimizer
327320 import: commontest
328321 type: exitcode-stdio-1.0
329− main-is: Relation/StaticOptimizer.hs
322+ main-is: test/Relation/StaticOptimizer.hs
330323
331324Test-Suite test-transactiongraph-persist
332325 import: commontest
333326 type: exitcode-stdio-1.0
334− main-is: TransactionGraph/Persist.hs
327+ main-is: test/TransactionGraph/Persist.hs
335328 Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Printer
336329
337330Test-Suite test-relation-import-csv
338331 import: commontest
339332 type: exitcode-stdio-1.0
340− main-is: Relation/Import/CSV.hs
333+ main-is: test/Relation/Import/CSV.hs
341334
342335Test-Suite test-tutoriald-import-tutoriald
343336 import: commontest
344337 type: exitcode-stdio-1.0
345− main-is: TutorialD/Interpreter/Import/ImportTest.hs
338+ main-is: test/TutorialD/Interpreter/Import/TutorialD.hs
346339 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
347340
348341Test-Suite test-relation-export-csv
349342 import: commontest
350343 type: exitcode-stdio-1.0
351− main-is: Relation/Export/CSV.hs
344+ main-is: test/Relation/Export/CSV.hs
352345
353346Test-Suite test-transactiongraph-merge
354347 import: commontest
355348 type: exitcode-stdio-1.0
356− main-is: TransactionGraph/Merge.hs
349+ main-is: test/TransactionGraph/Merge.hs
357350
358351
359352Test-Suite test-prettyprinter
360353 import: commontest
361354 type: exitcode-stdio-1.0
362− main-is: TutorialD/PrinterTest.hs
355+ main-is: test/TutorialD/Printer.hs
363356 Other-Modules: TutorialD.Printer, TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types
364357
365358benchmark bench
@@ -370,7 +363,7 @@ benchmark bench
370363Test-Suite test-server
371364 import: commontest
372365 type: exitcode-stdio-1.0
373− main-is: Server/Main.hs
366+ main-is: test/Server/Main.hs
374367
375368
376369Executable Example-SimpleClient
@@ -401,13 +394,6 @@ Executable Example-Hair
401394 Main-Is: examples/hair.hs
402395 GHC-Options: -Wall -threaded
403396
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−
411397Executable Example-CustomTupleable
412398 Default-Language: Haskell2010
413399 Default-Extensions: OverloadedStrings
@@ -428,12 +414,12 @@ Executable Example-DerivingCustomTupleable
428414Test-Suite test-scripts
429415 import: commontest
430416 type: exitcode-stdio-1.0
431− main-is: scripts.hs
417+ main-is: test/scripts.hs
432418 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
433419
434420Executable project-m36-websocket-server
435421 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
422+ 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
437423 Main-Is: ProjectM36/Server/WebSocket/websocket-server.hs
438424 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
439425 GHC-Options: -Wall -threaded
@@ -443,46 +429,46 @@ Executable project-m36-websocket-server
443429Test-Suite test-websocket-server
444430 import: commontest
445431 type: exitcode-stdio-1.0
446− main-is: Server/WebSocket.hs
432+ main-is: test/Server/WebSocket.hs
447433 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
448434
449435Test-Suite test-isomorphic-schemas
450436 import: commontest
451437 type: exitcode-stdio-1.0
452− main-is: IsomorphicSchema.hs
438+ main-is: test/IsomorphicSchema.hs
453439
454440Test-Suite test-atomable
455441 import: commontest
456442 type: exitcode-stdio-1.0
457− main-is: Relation/Atomable.hs
443+ main-is: test/Relation/Atomable.hs
458444 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
459445
460446Test-Suite test-multiprocess-access
461447 import: commontest
462448 type: exitcode-stdio-1.0
463− main-is: MultiProcessDatabaseAccess.hs
449+ main-is: test/MultiProcessDatabaseAccess.hs
464450
465451Test-Suite test-transactiongraph-automerge
466452 import: commontest
467453 type: exitcode-stdio-1.0
468− main-is: TransactionGraph/Automerge.hs
454+ main-is: test/TransactionGraph/Automerge.hs
469455 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
470456
471457Test-Suite test-tupleable
472458 import: commontest
473459 type: exitcode-stdio-1.0
474− main-is: Relation/Tupleable.hs
460+ main-is: test/Relation/Tupleable.hs
475461
476462Test-Suite test-client-simple
477463 import: commontest
478− Main-Is: Client/Simple.hs
464+ Main-Is: test/Client/Simple.hs
479465 type: exitcode-stdio-1.0
480466
481467-- test for file handle leaks
482468Executable handles
483469 Default-Language: Haskell2010
484470 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
471+ 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
486472 main-is: benchmark/Handles.hs
487473 Other-Modules: TutorialD.Interpreter,
488474 TutorialD.Interpreter.Base,
@@ -506,9 +492,9 @@ Executable handles
506492 HS-Source-Dirs: ./src/bin
507493 if flag(profiler)
508494 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
509−
495+
510496Test-Suite test-dataframe
511497 import: commontest
512498 type: exitcode-stdio-1.0
513− Main-Is: DataFrame.hs
499+ Main-Is: test/DataFrame.hs
514500 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