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