@@ -112,6 +112,11 @@ Library
112 ProjectM36.Server.EntryPoints,
112 ProjectM36.Server.EntryPoints,
113 ProjectM36.Server.ParseArgs,
113 ProjectM36.Server.ParseArgs,
114 ProjectM36.Server.RemoteCallTypes,
114 ProjectM36.Server.RemoteCallTypes,
115+ ProjectM36.Serialise.AtomFunctionError,
116+ ProjectM36.Serialise.DataFrame,
117+ ProjectM36.Serialise.DatabaseContextFunctionError,
118+ ProjectM36.Serialise.IsomorphicSchema,
119+ ProjectM36.Server.Types,
115 ProjectM36.Session,
120 ProjectM36.Session,
116 ProjectM36.Sessions,
121 ProjectM36.Sessions,
117 ProjectM36.Transaction.Persist,
122 ProjectM36.Transaction.Persist,
@@ -245,7 +250,7 @@ Executable project-m36-server
245Executable bigrel
250Executable bigrel
246 Default-Language: Haskell2010
251 Default-Language: Haskell2010
247 Default-Extensions: OverloadedStrings
252 Default-Extensions: OverloadedStrings
248− 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, optparse-applicative, stm-containers, list-t, ghc, ghc-paths, transformers, project-m36, random, MonadRandom, semigroups, parser-combinators
253+ 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
249 Other-Modules: TutorialD.Interpreter.Base,
254 Other-Modules: TutorialD.Interpreter.Base,
250 TutorialD.Interpreter.DatabaseContextExpr,
255 TutorialD.Interpreter.DatabaseContextExpr,
251 TutorialD.Interpreter.RelationalExpr,
256 TutorialD.Interpreter.RelationalExpr,
@@ -272,7 +277,7 @@ Test-Suite test-tutoriald
272 Default-Extensions: OverloadedStrings
277 Default-Extensions: OverloadedStrings
273 type: exitcode-stdio-1.0
278 type: exitcode-stdio-1.0
274 main-is: test/TutorialD/Interpreter.hs
279 main-is: test/TutorialD/Interpreter.hs
275− 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
280+ 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, stm-containers, list-t, project-m36, random, MonadRandom, semigroups, parser-combinators
276 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
281 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
277 GHC-Options: -Wall -threaded
282 GHC-Options: -Wall -threaded
278 Hs-Source-Dirs: ./src/bin, ., test
283 Hs-Source-Dirs: ./src/bin, ., test
@@ -302,7 +307,7 @@ Test-Suite test-relation
302 Default-Extensions: OverloadedStrings
307 Default-Extensions: OverloadedStrings
303 type: exitcode-stdio-1.0
308 type: exitcode-stdio-1.0
304 main-is: test/Relation/Basic.hs
309 main-is: test/Relation/Basic.hs
305− 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, project-m36, transformers
310+ 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, stm-containers, project-m36, transformers
306 GHC-Options: -Wall -threaded
311 GHC-Options: -Wall -threaded
308Test-Suite test-static-optimizer
313Test-Suite test-static-optimizer
@@ -310,7 +315,7 @@ Test-Suite test-static-optimizer
310 Default-Extensions: OverloadedStrings
315 Default-Extensions: OverloadedStrings
311 type: exitcode-stdio-1.0
316 type: exitcode-stdio-1.0
312 main-is: test/Relation/StaticOptimizer.hs
317 main-is: test/Relation/StaticOptimizer.hs
313− 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, project-m36, transformers
318+ 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, stm-containers, project-m36, transformers
314 GHC-Options: -Wall -threaded
319 GHC-Options: -Wall -threaded
316Test-Suite test-transactiongraph-persist
321Test-Suite test-transactiongraph-persist
@@ -318,7 +323,7 @@ Test-Suite test-transactiongraph-persist
318 Default-Extensions: OverloadedStrings
323 Default-Extensions: OverloadedStrings
319 type: exitcode-stdio-1.0
324 type: exitcode-stdio-1.0
320 main-is: test/TransactionGraph/Persist.hs
325 main-is: test/TransactionGraph/Persist.hs
321− 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, project-m36, random, MonadRandom, semigroups, parser-combinators
326+ 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, stm-containers, project-m36, random, MonadRandom, semigroups, parser-combinators
322 Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.BasicExamples
327 Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.BasicExamples
323 Hs-Source-Dirs: ., ./src/bin
328 Hs-Source-Dirs: ., ./src/bin
324 GHC-Options: -Wall -threaded
329 GHC-Options: -Wall -threaded
@@ -328,7 +333,7 @@ Test-Suite test-relation-import-csv
328 Default-Extensions: OverloadedStrings
333 Default-Extensions: OverloadedStrings
329 type: exitcode-stdio-1.0
334 type: exitcode-stdio-1.0
330 main-is: test/Relation/Import/CSV.hs
335 main-is: test/Relation/Import/CSV.hs
331− 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, project-m36
336+ 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, stm-containers, project-m36
332 GHC-Options: -Wall -threaded
337 GHC-Options: -Wall -threaded
334Test-Suite test-tutoriald-import-tutoriald
339Test-Suite test-tutoriald-import-tutoriald
@@ -336,7 +341,7 @@ Test-Suite test-tutoriald-import-tutoriald
336 Default-Extensions: OverloadedStrings
341 Default-Extensions: OverloadedStrings
337 type: exitcode-stdio-1.0
342 type: exitcode-stdio-1.0
338 main-is: test/TutorialD/Interpreter/Import/TutorialD.hs
343 main-is: test/TutorialD/Interpreter/Import/TutorialD.hs
339− 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, project-m36, random, MonadRandom, semigroups, parser-combinators
344+ 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, stm-containers, project-m36, random, MonadRandom, semigroups, parser-combinators
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
345 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
341 GHC-Options: -Wall -threaded
346 GHC-Options: -Wall -threaded
342 Hs-Source-Dirs: ., ./src/bin
347 Hs-Source-Dirs: ., ./src/bin
@@ -346,7 +351,7 @@ Test-Suite test-relation-export-csv
346 Default-Extensions: OverloadedStrings
351 Default-Extensions: OverloadedStrings
347 type: exitcode-stdio-1.0
352 type: exitcode-stdio-1.0
348 main-is: test/Relation/Export/CSV.hs
353 main-is: test/Relation/Export/CSV.hs
349− 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, project-m36
354+ 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, stm-containers, project-m36
350 GHC-Options: -Wall -threaded
355 GHC-Options: -Wall -threaded
352Test-Suite test-transactiongraph-merge
357Test-Suite test-transactiongraph-merge
@@ -354,7 +359,7 @@ Test-Suite test-transactiongraph-merge
354 Default-Extensions: OverloadedStrings
359 Default-Extensions: OverloadedStrings
355 type: exitcode-stdio-1.0
360 type: exitcode-stdio-1.0
356 main-is: test/TransactionGraph/Merge.hs
361 main-is: test/TransactionGraph/Merge.hs
357− 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, template-haskell, transformers, aeson, conduit, either, path-pieces, http-api-data, stm-containers, list-t, project-m36
362+ 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, template-haskell, transformers, aeson, conduit, either, path-pieces, http-api-data, stm-containers, list-t, project-m36
358 GHC-Options: -Wall -threaded
363 GHC-Options: -Wall -threaded
360benchmark bench
365benchmark bench
@@ -362,7 +367,7 @@ benchmark bench
362 Default-Extensions: OverloadedStrings
367 Default-Extensions: OverloadedStrings
363 type: exitcode-stdio-1.0
368 type: exitcode-stdio-1.0
364 main-is: benchmark/Relation.hs
369 main-is: benchmark/Relation.hs
365− 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, criterion, stm-containers, project-m36
370+ 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, criterion, stm-containers, project-m36
366 GHC-Options: -Wall -rtsopts -threaded
371 GHC-Options: -Wall -rtsopts -threaded
367 Hs-Source-Dirs: ./src/bin
372 Hs-Source-Dirs: ./src/bin
@@ -371,28 +376,28 @@ Test-Suite test-server
371 Default-Extensions: OverloadedStrings
376 Default-Extensions: OverloadedStrings
372 type: exitcode-stdio-1.0
377 type: exitcode-stdio-1.0
373 main-is: test/Server/Main.hs
378 main-is: test/Server/Main.hs
374− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, network-transport-tcp, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, project-m36, network-transport, semigroups
379+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, network-transport-tcp, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, project-m36, network-transport, semigroups
375 HS-Source-Dirs: ., ./src/bin
380 HS-Source-Dirs: ., ./src/bin
376 GHC-Options: -Wall -threaded
381 GHC-Options: -Wall -threaded
378Executable Example-SimpleClient
383Executable Example-SimpleClient
379 Default-Language: Haskell2010
384 Default-Language: Haskell2010
380 Default-Extensions: OverloadedStrings
385 Default-Extensions: OverloadedStrings
381− 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, transformers, stm-containers, list-t, ghc, ghc-paths, project-m36, random, MonadRandom
386+ 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
382 Main-Is: examples/SimpleClient.hs
387 Main-Is: examples/SimpleClient.hs
383 GHC-Options: -Wall -threaded
388 GHC-Options: -Wall -threaded
385Executable Example-OutOfTheTarpit
390Executable Example-OutOfTheTarpit
386 Default-Language: Haskell2010
391 Default-Language: Haskell2010
387 Default-Extensions: OverloadedStrings
392 Default-Extensions: OverloadedStrings
388− 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, transformers, stm-containers, list-t, aeson, path-pieces, either, conduit, http-api-data, template-haskell, ghc, ghc-paths, project-m36
393+ 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
389 Main-Is: examples/out_of_the_tarpit.hs
394 Main-Is: examples/out_of_the_tarpit.hs
390 GHC-Options: -Wall -threaded
395 GHC-Options: -Wall -threaded
392Executable Example-Blog
397Executable Example-Blog
393 Default-Language: Haskell2010
398 Default-Language: Haskell2010
394 Default-Extensions: OverloadedStrings
399 Default-Extensions: OverloadedStrings
395− 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, 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
400+ 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
396 Main-Is: examples/blog.hs
401 Main-Is: examples/blog.hs
397 GHC-Options: -Wall -threaded
402 GHC-Options: -Wall -threaded
@@ -400,14 +405,14 @@ Executable Example-Blog
400Executable Example-Hair
405Executable Example-Hair
401 Default-Language: Haskell2010
406 Default-Language: Haskell2010
402 Default-Extensions: OverloadedStrings
407 Default-Extensions: OverloadedStrings
403− 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, transformers, stm-containers, list-t, aeson, path-pieces, either, conduit, http-api-data, template-haskell, ghc, ghc-paths, project-m36
408+ 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
404 Main-Is: examples/hair.hs
409 Main-Is: examples/hair.hs
405 GHC-Options: -Wall -threaded
410 GHC-Options: -Wall -threaded
407Executable Example-CustomTupleable
412Executable Example-CustomTupleable
408 Default-Language: Haskell2010
413 Default-Language: Haskell2010
409 Default-Extensions: OverloadedStrings
414 Default-Extensions: OverloadedStrings
410− 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, transformers, stm-containers, list-t, aeson, path-pieces, either, conduit, http-api-data, template-haskell, ghc, ghc-paths, project-m36
415+ 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
411 Main-Is: examples/CustomTupleable.hs
416 Main-Is: examples/CustomTupleable.hs
412 GHC-Options: -Wall -threaded
417 GHC-Options: -Wall -threaded
@@ -417,7 +422,7 @@ Executable Example-DerivingCustomTupleable
418 Buildable: False
423 Buildable: False
419 Default-Language: Haskell2010
424 Default-Language: Haskell2010
420− Build-Depends: base, text, deepseq, binary, project-m36
425+ Build-Depends: base, text, deepseq,project-m36
421 Main-Is: examples/DerivingCustomTupleable.hs
426 Main-Is: examples/DerivingCustomTupleable.hs
422 GHC-Options: -Wall -threaded
427 GHC-Options: -Wall -threaded
@@ -426,7 +431,7 @@ Test-Suite test-scripts
426 Default-Extensions: OverloadedStrings
431 Default-Extensions: OverloadedStrings
427 type: exitcode-stdio-1.0
432 type: exitcode-stdio-1.0
428 main-is: test/scripts.hs
433 main-is: test/scripts.hs
429− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, network-transport-tcp, uuid, stm, deepseq, deepseq-generics, binary, parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, project-m36, random, MonadRandom, semigroups, parser-combinators
434+ Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, network-transport-tcp, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, project-m36, random, MonadRandom, semigroups, parser-combinators
430 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
435 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
431 GHC-Options: -Wall -threaded
436 GHC-Options: -Wall -threaded
432 Hs-Source-Dirs: ., ./src/bin
437 Hs-Source-Dirs: ., ./src/bin
@@ -444,7 +449,7 @@ Test-Suite test-websocket-server
444 Default-Language: Haskell2010
449 Default-Language: Haskell2010
445 type: exitcode-stdio-1.0
450 type: exitcode-stdio-1.0
446 main-is: test/Server/WebSocket.hs
451 main-is: test/Server/WebSocket.hs
447− 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, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom, network-transport-tcp, semigroups, parser-combinators
452+ 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, network-transport-tcp, semigroups, parser-combinators
448 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
453 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
449 Default-Extensions: OverloadedStrings
454 Default-Extensions: OverloadedStrings
450 GHC-Options: -Wall -threaded
455 GHC-Options: -Wall -threaded
@@ -454,7 +459,7 @@ Test-Suite test-isomorphic-schemas
454 Default-Language: Haskell2010
459 Default-Language: Haskell2010
455 type: exitcode-stdio-1.0
460 type: exitcode-stdio-1.0
456 main-is: test/IsomorphicSchema.hs
461 main-is: test/IsomorphicSchema.hs
457− 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, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36
462+ 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
458 Default-Extensions: OverloadedStrings
463 Default-Extensions: OverloadedStrings
459 GHC-Options: -Wall -threaded
464 GHC-Options: -Wall -threaded
460 Hs-Source-Dirs: ./src/bin, .
465 Hs-Source-Dirs: ./src/bin, .
@@ -463,7 +468,7 @@ Test-Suite test-atomable
463 Default-Language: Haskell2010
468 Default-Language: Haskell2010
464 type: exitcode-stdio-1.0
469 type: exitcode-stdio-1.0
465 main-is: test/Relation/Atomable.hs
470 main-is: test/Relation/Atomable.hs
466− 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, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom, semigroups, parser-combinators
471+ 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
467 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
472 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
468 Default-Extensions: OverloadedStrings
473 Default-Extensions: OverloadedStrings
469 GHC-Options: -Wall -threaded
474 GHC-Options: -Wall -threaded
@@ -473,7 +478,7 @@ Test-Suite test-multiprocess-access
473 Default-Language: Haskell2010
478 Default-Language: Haskell2010
474 type: exitcode-stdio-1.0
479 type: exitcode-stdio-1.0
475 main-is: test/MultiProcessDatabaseAccess.hs
480 main-is: test/MultiProcessDatabaseAccess.hs
476− 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, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom
481+ 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
477 Default-Extensions: OverloadedStrings
482 Default-Extensions: OverloadedStrings
478 GHC-Options: -Wall -threaded
483 GHC-Options: -Wall -threaded
479 Hs-Source-Dirs: ./src/bin, ., test/
484 Hs-Source-Dirs: ./src/bin, ., test/
@@ -482,7 +487,7 @@ Test-Suite test-transactiongraph-automerge
482 Default-Language: Haskell2010
487 Default-Language: Haskell2010
483 type: exitcode-stdio-1.0
488 type: exitcode-stdio-1.0
484 main-is: test/TransactionGraph/Automerge.hs
489 main-is: test/TransactionGraph/Automerge.hs
485− 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, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom, semigroups, parser-combinators
490+ 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
486 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
491 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
487 Default-Extensions: OverloadedStrings
492 Default-Extensions: OverloadedStrings
488 GHC-Options: -Wall -threaded
493 GHC-Options: -Wall -threaded
@@ -492,7 +497,7 @@ Test-Suite test-tupleable
492 Default-Language: Haskell2010
497 Default-Language: Haskell2010
493 type: exitcode-stdio-1.0
498 type: exitcode-stdio-1.0
494 main-is: test/Relation/Tupleable.hs
499 main-is: test/Relation/Tupleable.hs
495− 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, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom, semigroups
500+ 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
496 Default-Extensions: OverloadedStrings
501 Default-Extensions: OverloadedStrings
497 GHC-Options: -Wall -threaded
502 GHC-Options: -Wall -threaded
498 Hs-Source-Dirs: ./src/bin, ., test/
503 Hs-Source-Dirs: ./src/bin, ., test/
@@ -501,7 +506,7 @@ Test-Suite test-client-simple
501 Default-Language: Haskell2010
506 Default-Language: Haskell2010
502 Main-Is: test/Client/Simple.hs
507 Main-Is: test/Client/Simple.hs
503 type: exitcode-stdio-1.0
508 type: exitcode-stdio-1.0
504− 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, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom, semigroups
509+ 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
505 Default-Extensions: OverloadedStrings
510 Default-Extensions: OverloadedStrings
506 GHC-Options: -Wall -threaded
511 GHC-Options: -Wall -threaded
507 Hs-Source-Dirs: ./src/bin, ., test/
512 Hs-Source-Dirs: ./src/bin, ., test/
@@ -510,7 +515,7 @@ Test-Suite test-client-simple
510Executable handles
515Executable handles
511 Default-Language: Haskell2010
516 Default-Language: Haskell2010
512 Default-Extensions: OverloadedStrings
517 Default-Extensions: OverloadedStrings
513− 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, optparse-applicative, stm-containers, list-t, ghc, ghc-paths, transformers, project-m36, random, MonadRandom, semigroups, parser-combinators
518+ 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
514 main-is: benchmark/Handles.hs
519 main-is: benchmark/Handles.hs
515 Other-Modules: TutorialD.Interpreter,
520 Other-Modules: TutorialD.Interpreter,
516 TutorialD.Interpreter.Base,
521 TutorialD.Interpreter.Base,
@@ -539,7 +544,7 @@ Test-Suite test-dataframe
539 Main-Is: test/DataFrame.hs
544 Main-Is: test/DataFrame.hs
540 type: exitcode-stdio-1.0
545 type: exitcode-stdio-1.0
541 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
546 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
542− 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, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom, semigroups, parser-combinators
547+ 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
543 Default-Extensions: OverloadedStrings
548 Default-Extensions: OverloadedStrings
544 GHC-Options: -Wall -threaded
549 GHC-Options: -Wall -threaded
545 Hs-Source-Dirs: ./src/bin, ., test/
550 Hs-Source-Dirs: ./src/bin, ., test/