@@ -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, 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, streamly >= 0.7.2
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
@@ -187,8 +186,8 @@ Executable tutd
187186 curryer-rpc,
188187 prettyprinter,
189188 cryptohash-sha256,
190− --due to decode signature change
191− base16-bytestring >= 1.0.0.0,
189+ --due to decode signature change
190+ base16-bytestring >= 1.0.0.0,
192191 http-conduit,
193192 modern-uri,
194193 http-types
@@ -270,11 +269,11 @@ Executable bigrel
270269 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
271270
272271Common commontest
273− Default-Language: Haskell2010
272+ Default-Language: Haskell2010
274273 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
275274 Default-Extensions: OverloadedStrings
276275 GHC-Options: -Wall -threaded
277− Hs-Source-Dirs: test, src/bin
276+ Hs-Source-Dirs: ./src/bin, ., test/
278277
279278Benchmark basic-benchmark
280279 Default-Language: Haskell2010
@@ -287,7 +286,7 @@ Benchmark basic-benchmark
287286 if flag(profiler)
288287 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
289288
290−--benchmark inserts, updates, deletes for a basic use-case to shake out any space leaks
289+--benchmark inserts, updates, deletes for a basic use-case to shake out any space leaks
291290Benchmark update-exprs
292291 Default-Language: Haskell2010
293292 Default-Extensions: OverloadedStrings
@@ -302,7 +301,7 @@ Benchmark update-exprs
302301Test-Suite test-tutoriald
303302 import: commontest
304303 type: exitcode-stdio-1.0
305− main-is: TutorialD/InterpreterTest.hs
304+ main-is: test/TutorialD/Interpreter.hs
306305 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
307306 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
308307
@@ -310,56 +309,56 @@ Test-Suite test-tutoriald-atomfunctionscript
310309 import: commontest
311310 type: exitcode-stdio-1.0
312311 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
312+ main-is: test/TutorialD/Interpreter/AtomFunctionScript.hs
314313
315314Test-Suite test-tutoriald-databasecontextfunctionscript
316315 import: commontest
317316 type: exitcode-stdio-1.0
318317 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
318+ main-is: test/TutorialD/Interpreter/DatabaseContextFunctionScript.hs
320319
321320Test-Suite test-relation
322321 import: commontest
323322 type: exitcode-stdio-1.0
324− main-is: Relation/Basic.hs
323+ main-is: test/Relation/Basic.hs
325324
326325Test-Suite test-static-optimizer
327326 import: commontest
328327 type: exitcode-stdio-1.0
329− main-is: Relation/StaticOptimizer.hs
328+ main-is: test/Relation/StaticOptimizer.hs
330329
331330Test-Suite test-transactiongraph-persist
332331 import: commontest
333332 type: exitcode-stdio-1.0
334− main-is: TransactionGraph/Persist.hs
333+ main-is: test/TransactionGraph/Persist.hs
335334 Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Printer
336335
337336Test-Suite test-relation-import-csv
338337 import: commontest
339338 type: exitcode-stdio-1.0
340− main-is: Relation/Import/CSV.hs
339+ main-is: test/Relation/Import/CSV.hs
341340
342341Test-Suite test-tutoriald-import-tutoriald
343342 import: commontest
344343 type: exitcode-stdio-1.0
345− main-is: TutorialD/Interpreter/Import/ImportTest.hs
344+ main-is: test/TutorialD/Interpreter/Import/TutorialD.hs
346345 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
347346
348347Test-Suite test-relation-export-csv
349348 import: commontest
350349 type: exitcode-stdio-1.0
351− main-is: Relation/Export/CSV.hs
350+ main-is: test/Relation/Export/CSV.hs
352351
353352Test-Suite test-transactiongraph-merge
354353 import: commontest
355354 type: exitcode-stdio-1.0
356− main-is: TransactionGraph/Merge.hs
355+ main-is: test/TransactionGraph/Merge.hs
357356
358357
359358Test-Suite test-prettyprinter
360359 import: commontest
361360 type: exitcode-stdio-1.0
362− main-is: TutorialD/PrinterTest.hs
361+ main-is: test/TutorialD/Printer.hs
363362 Other-Modules: TutorialD.Printer, TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types
364363
365364benchmark bench
@@ -370,7 +369,7 @@ benchmark bench
370369Test-Suite test-server
371370 import: commontest
372371 type: exitcode-stdio-1.0
373− main-is: Server/Main.hs
372+ main-is: test/Server/Main.hs
374373
375374
376375Executable Example-SimpleClient
@@ -401,13 +400,6 @@ Executable Example-Hair
401400 Main-Is: examples/hair.hs
402401 GHC-Options: -Wall -threaded
403402
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−
411403Executable Example-CustomTupleable
412404 Default-Language: Haskell2010
413405 Default-Extensions: OverloadedStrings
@@ -428,12 +420,12 @@ Executable Example-DerivingCustomTupleable
428420Test-Suite test-scripts
429421 import: commontest
430422 type: exitcode-stdio-1.0
431− main-is: scripts.hs
423+ main-is: test/scripts.hs
432424 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
433425
434426Executable project-m36-websocket-server
435427 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
428+ 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-types, cryptohash-sha256, http-conduit, base16-bytestring
437429 Main-Is: ProjectM36/Server/WebSocket/websocket-server.hs
438430 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
439431 GHC-Options: -Wall -threaded
@@ -443,46 +435,46 @@ Executable project-m36-websocket-server
443435Test-Suite test-websocket-server
444436 import: commontest
445437 type: exitcode-stdio-1.0
446− main-is: Server/WebSocket.hs
438+ main-is: test/Server/WebSocket.hs
447439 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
448440
449441Test-Suite test-isomorphic-schemas
450442 import: commontest
451443 type: exitcode-stdio-1.0
452− main-is: IsomorphicSchema.hs
444+ main-is: test/IsomorphicSchema.hs
453445
454446Test-Suite test-atomable
455447 import: commontest
456448 type: exitcode-stdio-1.0
457− main-is: Relation/Atomable.hs
449+ main-is: test/Relation/Atomable.hs
458450 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
459451
460452Test-Suite test-multiprocess-access
461453 import: commontest
462454 type: exitcode-stdio-1.0
463− main-is: MultiProcessDatabaseAccess.hs
455+ main-is: test/MultiProcessDatabaseAccess.hs
464456
465457Test-Suite test-transactiongraph-automerge
466458 import: commontest
467459 type: exitcode-stdio-1.0
468− main-is: TransactionGraph/Automerge.hs
460+ main-is: test/TransactionGraph/Automerge.hs
469461 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
470462
471463Test-Suite test-tupleable
472464 import: commontest
473465 type: exitcode-stdio-1.0
474− main-is: Relation/Tupleable.hs
466+ main-is: test/Relation/Tupleable.hs
475467
476468Test-Suite test-client-simple
477469 import: commontest
478− Main-Is: Client/Simple.hs
470+ Main-Is: test/Client/Simple.hs
479471 type: exitcode-stdio-1.0
480472
481473-- test for file handle leaks
482474Executable handles
483475 Default-Language: Haskell2010
484476 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
477+ 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, base16-bytestring, http-conduit, cryptohash-sha256, http-types
486478 main-is: benchmark/Handles.hs
487479 Other-Modules: TutorialD.Interpreter,
488480 TutorialD.Interpreter.Base,
@@ -506,9 +498,9 @@ Executable handles
506498 HS-Source-Dirs: ./src/bin
507499 if flag(profiler)
508500 GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
509−
501+
510502Test-Suite test-dataframe
511503 import: commontest
512504 type: exitcode-stdio-1.0
513− Main-Is: DataFrame.hs
505+ Main-Is: test/DataFrame.hs
514506 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