@@ -2,7 +2,7 @@ Cabal-Version: 2.2
22Name: project-m36
33Version: 0.9.3
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
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
3939 if flag(haskell-scripting)
4040 Build-Depends: ghc >= 8.2 && < 8.11
4141 CPP-Options: -DPM36_HASKELL_SCRIPTING
@@ -63,6 +63,7 @@ Library
6363 ProjectM36.AtomFunction,
6464 ProjectM36.AtomFunctionError,
6565 ProjectM36.ScriptSession,
66+ ProjectM36.Shortcuts,
6667 ProjectM36.DatabaseContextFunction,
6768 ProjectM36.DatabaseContextFunctionError,
6869 ProjectM36.DatabaseContextFunctionUtils,
@@ -142,7 +143,7 @@ Library
142143 Hs-Source-Dirs: ./src/lib
143144 Default-Language: Haskell2010
144145 Default-Extensions: OverloadedStrings, CPP
145− if !flag(stack)
146+ if !flag(stack)
146147 Build-Depends: deferred-folds
147148
148149Executable tutd
@@ -186,8 +187,8 @@ Executable tutd
186187 curryer-rpc,
187188 prettyprinter,
188189 cryptohash-sha256,
189− --due to decode signature change
190− base16-bytestring >= 1.0.0.0,
190+ --due to decode signature change
191+ base16-bytestring >= 1.0.0.0,
191192 http-conduit,
192193 modern-uri,
193194 http-types
@@ -269,11 +270,11 @@ Executable bigrel
269270 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
270271
271272Common commontest
272− Default-Language: Haskell2010
273+ Default-Language: Haskell2010
273274 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
274275 Default-Extensions: OverloadedStrings
275276 GHC-Options: -Wall -threaded
276− Hs-Source-Dirs: ./src/bin, ., test/
277+ Hs-Source-Dirs: test, src/bin
277278
278279Benchmark basic-benchmark
279280 Default-Language: Haskell2010
@@ -286,7 +287,7 @@ Benchmark basic-benchmark
286287 if flag(profiler)
287288 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
288289
289−--benchmark inserts, updates, deletes for a basic use-case to shake out any space leaks
290+--benchmark inserts, updates, deletes for a basic use-case to shake out any space leaks
290291Benchmark update-exprs
291292 Default-Language: Haskell2010
292293 Default-Extensions: OverloadedStrings
@@ -301,7 +302,7 @@ Benchmark update-exprs
301302Test-Suite test-tutoriald
302303 import: commontest
303304 type: exitcode-stdio-1.0
304− main-is: test/TutorialD/Interpreter.hs
305+ main-is: TutorialD/InterpreterTest.hs
305306 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
306307 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
307308
@@ -309,56 +310,56 @@ Test-Suite test-tutoriald-atomfunctionscript
309310 import: commontest
310311 type: exitcode-stdio-1.0
311312 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− main-is: test/TutorialD/Interpreter/AtomFunctionScript.hs
313+ main-is: TutorialD/Interpreter/AtomFunctionScript.hs
313314
314315Test-Suite test-tutoriald-databasecontextfunctionscript
315316 import: commontest
316317 type: exitcode-stdio-1.0
317318 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
318− main-is: test/TutorialD/Interpreter/DatabaseContextFunctionScript.hs
319+ main-is: TutorialD/Interpreter/DatabaseContextFunctionScript.hs
319320
320321Test-Suite test-relation
321322 import: commontest
322323 type: exitcode-stdio-1.0
323− main-is: test/Relation/Basic.hs
324+ main-is: Relation/Basic.hs
324325
325326Test-Suite test-static-optimizer
326327 import: commontest
327328 type: exitcode-stdio-1.0
328− main-is: test/Relation/StaticOptimizer.hs
329+ main-is: Relation/StaticOptimizer.hs
329330
330331Test-Suite test-transactiongraph-persist
331332 import: commontest
332333 type: exitcode-stdio-1.0
333− main-is: test/TransactionGraph/Persist.hs
334+ main-is: TransactionGraph/Persist.hs
334335 Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Printer
335336
336337Test-Suite test-relation-import-csv
337338 import: commontest
338339 type: exitcode-stdio-1.0
339− main-is: test/Relation/Import/CSV.hs
340+ main-is: Relation/Import/CSV.hs
340341
341342Test-Suite test-tutoriald-import-tutoriald
342343 import: commontest
343344 type: exitcode-stdio-1.0
344− main-is: test/TutorialD/Interpreter/Import/TutorialD.hs
345+ main-is: TutorialD/Interpreter/Import/ImportTest.hs
345346 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
346347
347348Test-Suite test-relation-export-csv
348349 import: commontest
349350 type: exitcode-stdio-1.0
350− main-is: test/Relation/Export/CSV.hs
351+ main-is: Relation/Export/CSV.hs
351352
352353Test-Suite test-transactiongraph-merge
353354 import: commontest
354355 type: exitcode-stdio-1.0
355− main-is: test/TransactionGraph/Merge.hs
356+ main-is: TransactionGraph/Merge.hs
356357
357358
358359Test-Suite test-prettyprinter
359360 import: commontest
360361 type: exitcode-stdio-1.0
361− main-is: test/TutorialD/Printer.hs
362+ main-is: TutorialD/PrinterTest.hs
362363 Other-Modules: TutorialD.Printer, TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types
363364
364365benchmark bench
@@ -369,7 +370,7 @@ benchmark bench
369370Test-Suite test-server
370371 import: commontest
371372 type: exitcode-stdio-1.0
372− main-is: test/Server/Main.hs
373+ main-is: Server/Main.hs
373374
374375
375376Executable Example-SimpleClient
@@ -427,12 +428,12 @@ Executable Example-DerivingCustomTupleable
427428Test-Suite test-scripts
428429 import: commontest
429430 type: exitcode-stdio-1.0
430− main-is: test/scripts.hs
431+ main-is: scripts.hs
431432 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
432433
433434Executable project-m36-websocket-server
434435 Default-Language: Haskell2010
435− 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
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
436437 Main-Is: ProjectM36/Server/WebSocket/websocket-server.hs
437438 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
438439 GHC-Options: -Wall -threaded
@@ -442,39 +443,39 @@ Executable project-m36-websocket-server
442443Test-Suite test-websocket-server
443444 import: commontest
444445 type: exitcode-stdio-1.0
445− main-is: test/Server/WebSocket.hs
446+ main-is: Server/WebSocket.hs
446447 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
447448
448449Test-Suite test-isomorphic-schemas
449450 import: commontest
450451 type: exitcode-stdio-1.0
451− main-is: test/IsomorphicSchema.hs
452+ main-is: IsomorphicSchema.hs
452453
453454Test-Suite test-atomable
454455 import: commontest
455456 type: exitcode-stdio-1.0
456− main-is: test/Relation/Atomable.hs
457+ main-is: Relation/Atomable.hs
457458 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
458459
459460Test-Suite test-multiprocess-access
460461 import: commontest
461462 type: exitcode-stdio-1.0
462− main-is: test/MultiProcessDatabaseAccess.hs
463+ main-is: MultiProcessDatabaseAccess.hs
463464
464465Test-Suite test-transactiongraph-automerge
465466 import: commontest
466467 type: exitcode-stdio-1.0
467− main-is: test/TransactionGraph/Automerge.hs
468+ main-is: TransactionGraph/Automerge.hs
468469 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
469470
470471Test-Suite test-tupleable
471472 import: commontest
472473 type: exitcode-stdio-1.0
473− main-is: test/Relation/Tupleable.hs
474+ main-is: Relation/Tupleable.hs
474475
475476Test-Suite test-client-simple
476477 import: commontest
477− Main-Is: test/Client/Simple.hs
478+ Main-Is: Client/Simple.hs
478479 type: exitcode-stdio-1.0
479480
480481-- test for file handle leaks
@@ -505,9 +506,9 @@ Executable handles
505506 HS-Source-Dirs: ./src/bin
506507 if flag(profiler)
507508 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
508−
509+
509510Test-Suite test-dataframe
510511 import: commontest
511512 type: exitcode-stdio-1.0
512− Main-Is: test/DataFrame.hs
513+ Main-Is: DataFrame.hs
513514 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