project-m36-1.2.0: project-m36.cabal
Cabal-Version: 2.2
Name: project-m36
Version: 1.2.0
License: MIT
--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
Build-Type: Simple
Homepage: https://github.com/agentm/project-m36
Bug-Reports: https://github.com/agentm/project-m36/issues
Author: AgentM
Stability: experimental
Category: Relational Algebra
Maintainer: agentm@themactionfaction.com
Synopsis: Relational Algebra Engine
Description: A relational algebra engine which can be used to persist and query Haskell data types.
Extra-Source-Files: scripts/DateExamples.tutd scripts/multiline.tutd
Extra-Doc-Files: Changelog.markdown README.markdown
tested-with: GHC ==9.4.8 || ==9.6.6 || ==9.8.2 || ==9.10.1
Source-Repository head
Type: git
location: https://github.com/agentm/project-m36
Flag profiler
Description: Enable Haskell-specific profiling support
Default: False
Manual: True
--flag to allow stack to use its older, pinned packages
Flag stack
Description: build with stack and stackage
Manual: True
Default: False
Flag haskell-scripting
Description: enables Haskell scripting which links against GHC as a library
Manual: True
Default: True
Library
Build-Depends:
base >=4.14 && < 5,
ghc-paths,
mtl,
containers,
unordered-containers,
hashable,
haskeline,
directory,
MonadRandom,
random,
random-shuffle,
prettyprinter,
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,
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 >= 1.4,
curryer-rpc>=0.5.0,
network,
async,
vector-instances,
recursion-schemes,
streamly == 0.10.1,
convertible,
fast-builder,
scientific,
crypton,
streamly-core,
streamly,
network-byte-order,
sqlite-simple,
data-default,
process,
system-linux-proc,
megaparsec
if flag(haskell-scripting)
Build-Depends: ghc >= 9.0
CPP-Options: -DPM36_HASKELL_SCRIPTING
if impl(ghc>= 8) && flag(haskell-scripting)
build-depends:
ghc-boot, ghci
if impl(ghc>= 8.6)
Build-Depends: deferred-folds
if impl(ghc >= 9)
Build-Depends: ghc-bignum
if !impl(ghc >= 9)
Build-Depends: integer-gmp
Exposed-Modules: ProjectM36.Error,
ProjectM36.Transaction,
ProjectM36.TransactionGraph,
ProjectM36.TransactionGraph.Show,
ProjectM36.TransactionGraph.Persist,
ProjectM36.TransactionGraph.Merge,
ProjectM36.TransGraphRelationalExpression,
ProjectM36.Base,
ProjectM36.Serialise.Base,
ProjectM36.Serialise.Error,
ProjectM36.Serialise.LoginRoles,
ProjectM36.DataFrame,
ProjectM36.Attribute,
ProjectM36.AttributeNames,
ProjectM36.Tuple,
ProjectM36.TupleSet,
ProjectM36.RelationVariablesMentioned,
ProjectM36.Function,
ProjectM36.Atom,
ProjectM36.AtomFunction,
ProjectM36.BTree,
ProjectM36.ScriptSession,
ProjectM36.Shortcuts,
ProjectM36.DatabaseContextFunction,
ProjectM36.DatabaseContextFunctionUtils,
ProjectM36.Key,
ProjectM36.FunctionalDependency,
ProjectM36.DatabaseContext,
ProjectM36.DatabaseContext.Types,
ProjectM36.ValueMarker,
ProjectM36.DatabaseContextFunctions.Basic,
ProjectM36.TransactionGraph.Types,
ProjectM36.DateExamples,
ProjectM36.DisconnectedTransaction,
ProjectM36.AtomFunctionBody,
ProjectM36.RelationalExpression,
ProjectM36.Relation.Show.HTML,
ProjectM36.StaticOptimizer,
ProjectM36.Relation.Show.Term,
ProjectM36.WCWidth,
ProjectM36.Relation.Show.CSV,
ProjectM36.Relation.Show.Gnuplot,
ProjectM36.Relation.Parse.CSV,
ProjectM36.IsomorphicSchema,
ProjectM36.InclusionDependency,
ProjectM36.MerkleHash,
ProjectM36.Client,
ProjectM36.Client.Simple,
ProjectM36.Persist,
ProjectM36.AtomType,
ProjectM36.AttributeExpr,
ProjectM36.AtomFunctions.Basic,
ProjectM36.AtomFunctions.Primitive,
ProjectM36.AtomFunctionError,
ProjectM36.DatabaseContext.SelfTest,
ProjectM36.AtomFunctions.SelfTest,
ProjectM36.Atomable,
ProjectM36.Tupleable,
ProjectM36.Tupleable.Deriving,
ProjectM36.DataConstructorDef,
ProjectM36.DataTypes.Basic,
ProjectM36.DataTypes.Sorting,
ProjectM36.DataTypes.Day,
ProjectM36.DataTypes.DateTime,
ProjectM36.DataTypes.Either,
ProjectM36.DataTypes.Maybe,
ProjectM36.DataTypes.List,
ProjectM36.DataTypes.NonEmptyList,
ProjectM36.DataTypes.Primitive,
ProjectM36.DataTypes.Interval,
ProjectM36.DataTypes.ByteString,
ProjectM36.DataTypes.SQL.Null,
ProjectM36.SQLDatabaseContext,
ProjectM36.DatabaseContext.Basic,
ProjectM36.DatabaseContext.Fields,
ProjectM36.DatabaseContextExpr,
ProjectM36.MiscUtils,
ProjectM36.Notifications,
ProjectM36.Relation,
ProjectM36.Server,
ProjectM36.Server.Config,
ProjectM36.Server.EntryPoints,
ProjectM36.Server.ParseArgs,
ProjectM36.Server.RemoteCallTypes,
ProjectM36.Serialise.AtomFunctionError,
ProjectM36.Serialise.DataFrame,
ProjectM36.Serialise.IsomorphicSchema,
ProjectM36.Session,
ProjectM36.Sessions,
ProjectM36.Transaction.Persist,
ProjectM36.Transaction.Types,
ProjectM36.IsomorphicSchema.Types,
ProjectM36.TypeConstructor,
ProjectM36.TypeConstructorDef,
ProjectM36.FileLock,
ProjectM36.FSType,
ProjectM36.Arbitrary,
ProjectM36.GraphRefRelationalExpr,
ProjectM36.NormalizeExpr,
ProjectM36.TransactionInfo,
ProjectM36.WithNameExpr,
ProjectM36.Trace,
ProjectM36.Streaming.Tuple,
ProjectM36.Streaming.RelationalExpression,
ProjectM36.Cache.RelationalExprCache,
ProjectM36.Cache.Tuple,
ProjectM36.RelExprSize,
ProjectM36.HashSecurely,
ProjectM36.DDLType,
ProjectM36.RegisteredQuery,
ProjectM36.SQL.Convert,
ProjectM36.SQL.Select,
ProjectM36.SQL.Update,
ProjectM36.SQL.Insert,
ProjectM36.SQL.Delete,
ProjectM36.SQL.DBUpdate,
ProjectM36.SQL.CreateTable,
ProjectM36.SQL.DropTable,
ProjectM36.ReferencedTransactionIds,
ProjectM36.SystemMemory,
ProjectM36.PinnedRelationalExpr,
ProjectM36.AccessControlList,
ProjectM36.AccessControl,
ProjectM36.LoginRoles,
ProjectM36.PrettyBytes
GHC-Options: -Wall -rdynamic
if os(windows)
Build-Depends: Win32 >= 2.12
Other-Modules: ProjectM36.Win32Handle
else
--219- too many exported symbols under Windows and GHC 8.4
GHC-Options: -rdynamic -fexternal-interpreter
C-sources: cbits/DirectoryFsync.c, cbits/darwin_statfs.c
Build-Depends: unix
if os(linux)
Build-Depends: linux-xattr
CC-Options: -fPIC
Hs-Source-Dirs: ./src/lib
Default-Language: Haskell2010
Default-Extensions: OverloadedStrings, CPP, LambdaCase
if !flag(stack)
Build-Depends: deferred-folds
Executable tutd
if flag(haskell-scripting)
Build-Depends: ghc >= 9.4
Build-Depends: base >=4.17,
ghc-paths,
project-m36,
containers,
unordered-containers,
hashable,
transformers,
semigroups,
mtl,
uuid,
deepseq-generics,
MonadRandom,
vector,
text,
time,
process,
bytestring,
stm,
deepseq,
data-interval,
parallel,
cassava,
gnuplot,
directory,
filepath,
temporary,
megaparsec >= 5.2.0 && < 10,
haskeline,
random,
base64-bytestring,
optparse-applicative,
attoparsec,
stm-containers >= 1.0.0,
list-t,
parser-combinators,
curryer-rpc,
prettyprinter,
cryptohash-sha256,
--due to decode signature change
base16-bytestring >= 1.0.0.0,
http-conduit,
modern-uri,
http-types,
recursion-schemes,
data-default
Other-Modules: TutorialD.Interpreter,
TutorialD.Interpreter.Base,
TutorialD.Interpreter.DatabaseContextExpr,
TutorialD.Interpreter.RODatabaseContextOperator,
TutorialD.Interpreter.TransactionGraphOperator,
TutorialD.Interpreter.Import.BasicExamples,
TutorialD.Interpreter.InformationOperator,
TutorialD.Interpreter.Export.Base,
TutorialD.Interpreter.Export.CSV,
TutorialD.Interpreter.DatabaseContextIOOperator,
TutorialD.Interpreter.Import.Base,
TutorialD.Interpreter.Import.CSV,
TutorialD.Interpreter.Import.TutorialD,
TutorialD.Interpreter.RelationalExpr,
TutorialD.Interpreter.Types,
TutorialD.Interpreter.TransGraphRelationalOperator,
TutorialD.Interpreter.SchemaOperator,
TutorialD.Interpreter.LoginRolesOperator,
TutorialD.Printer,
ProjectM36.Cli,
ProjectM36.Interpreter
main-is: TutorialD/tutd.hs
CC-Options: -fPIC
GHC-Options: -Wall -threaded -rtsopts
if !os(windows)
GHC-Options: -rdynamic
if flag(profiler)
GHC-Prof-Options: -fprof-auto -rtsopts -threaded
Hs-Source-Dirs: ./src/bin
Default-Language: Haskell2010
Default-Extensions: OverloadedStrings
Executable sqlegacy
if flag(haskell-scripting)
Build-Depends: ghc >= 9.4
Build-Depends: base,
ghc-paths,
project-m36,
containers,
unordered-containers,
hashable,
transformers,
semigroups,
mtl,
uuid,
deepseq-generics,
MonadRandom, MonadRandom,
vector,
text,
time,
bytestring,
stm,
deepseq,
data-interval,
parallel,
cassava,
gnuplot,
directory,
filepath,
temporary,
megaparsec >= 5.2.0 && < 10,
haskeline,
random, MonadRandom,
base64-bytestring,
optparse-applicative,
attoparsec,
stm-containers >= 1.0.0,
list-t,
parser-combinators,
curryer-rpc,
prettyprinter,
cryptohash-sha256,
--due to decode signature change
base16-bytestring >= 1.0.0.0,
http-conduit,
modern-uri,
http-types,
recursion-schemes,
Other-Modules: SQL.Interpreter.Base,
SQL.Interpreter.Select,
ProjectM36.Cli,
ProjectM36.Interpreter,
SQL.Interpreter,
SQL.Interpreter.TransactionGraphOperator,
SQL.Interpreter.ImportBasicExample,
SQL.Interpreter.Update,
SQL.Interpreter.Insert,
SQL.Interpreter.Delete,
SQL.Interpreter.DBUpdate,
SQL.Interpreter.CreateTable,
SQL.Interpreter.DropTable,
SQL.Interpreter.Info,
TutorialD.Printer,
TutorialD.Interpreter.Base
Main-Is: ./SQL/Interpreter/sqlegacy.hs
if os(windows)
GHC-Options: -Wall -threaded -rtsopts
else
GHC-Options: -Wall -threaded -rtsopts -rdynamic
if flag(profiler)
GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
Hs-Source-Dirs: ./src/bin
Default-Language: Haskell2010
Default-Extensions: OverloadedStrings
Executable project-m36-server
if flag(haskell-scripting)
Build-Depends: ghc >= 9.4
Build-Depends: base,
ghc-paths,
transformers,
project-m36,
temporary,
data-interval,
deepseq,
uuid,
stm,
filepath,
directory,
parallel,
bytestring,
optparse-applicative,
time,
text,
deepseq-generics,
mtl,
containers,
hashable,
unordered-containers,
vector,
http-api-data,
stm-containers,
list-t,
base64-bytestring,
scientific
Main-Is: ./src/bin/ProjectM36/Server/project-m36-server.hs
if os(windows)
GHC-Options: -Wall -threaded -rtsopts -with-rtsopts=-N
else
GHC-Options: -Wall -threaded -rtsopts -rdynamic -with-rtsopts=-N
if flag(profiler)
GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
Default-Language: Haskell2010
Default-Extensions: OverloadedStrings
Executable bigrel
Default-Language: Haskell2010
Default-Extensions: OverloadedStrings
Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, 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, curryer-rpc
Other-Modules: TutorialD.Interpreter.Base,
TutorialD.Interpreter.DatabaseContextExpr,
TutorialD.Interpreter.RelationalExpr,
TutorialD.Interpreter.Types,
ProjectM36.Interpreter,
ProjectM36.Cli
main-is: benchmark/bigrel.hs
GHC-Options: -Wall -threaded -rtsopts -with-rtsopts=-N
HS-Source-Dirs: ./src/bin
if flag(profiler)
GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
if impl(ghc <9.4)
GHC-Prof-Options: -eventlog
Common commontest
Default-Language: Haskell2010
Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, 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, scientific, streamly
Default-Extensions: OverloadedStrings
GHC-Options: -Wall -threaded -with-rtsopts=-N
Hs-Source-Dirs: test, src/bin
Other-Modules: ProjectM36.Interpreter, ProjectM36.Cli
Benchmark basic-benchmark
Default-Language: Haskell2010
Default-Extensions: OverloadedStrings
Build-Depends: base, criterion, project-m36, text, vector, containers, temporary, directory, filepath
Main-Is: benchmark/Basic.hs
Type: exitcode-stdio-1.0
GHC-Options: -Wall -threaded -rtsopts -Wunused-packages
HS-Source-Dirs: ./src/bin
if flag(profiler)
GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
Benchmark btree-benchmark
Default-Language: Haskell2010
Default-Extensions: OverloadedStrings
Build-Depends: base, criterion, project-m36, text, vector, transformers, containers, temporary, directory, filepath, deepseq, byteunits
Main-Is: benchmark/BTree.hs
Type: exitcode-stdio-1.0
GHC-Options: -Wall -threaded -rtsopts -Wunused-packages
HS-Source-Dirs: ./src/bin
if flag(profiler)
GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
--benchmark inserts, updates, deletes for a basic use-case to shake out any space leaks
Benchmark update-exprs
Default-Language: Haskell2010
Default-Extensions: OverloadedStrings
Build-Depends: base, criterion, project-m36, text, winery, random
Main-Is: benchmark/Server.hs
Type: exitcode-stdio-1.0
GHC-Options: -Wall -threaded -rtsopts
HS-Source-Dirs: ./src/bin
if flag(profiler)
GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall -fexternal-interpreter
Test-Suite test-sql
import: commontest
type: exitcode-stdio-1.0
main-is: SQL/InterpreterTest.hs
Other-Modules: SQL.Interpreter.Select, SQL.Interpreter.Base, TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.RODatabaseContextOperator, ProjectM36.Interpreter, SQL.Interpreter.CreateTable
TutorialD.Printer,
ProjectM36.Cli,
SQL.Interpreter.DBUpdate,
SQL.Interpreter.Delete,
SQL.Interpreter.DropTable,
SQL.Interpreter.Insert,
SQL.Interpreter.Update
Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, 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, scientific, recursion-schemes
Test-Suite test-tutoriald
import: commontest
type: exitcode-stdio-1.0
main-is: TutorialD/InterpreterTest.hs
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, ProjectM36.Interpreter, ProjectM36.Cli, TutorialD.Interpreter.LoginRolesOperator
Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, 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, scientific
Test-Suite test-tutoriald-atomfunctionscript
import: commontest
type: exitcode-stdio-1.0
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, ProjectM36.Interpreter, TutorialD.Interpreter.LoginRolesOperator
main-is: TutorialD/Interpreter/AtomFunctionScript.hs
Test-Suite test-tutoriald-databasecontextfunctionscript
import: commontest
type: exitcode-stdio-1.0
if flag(haskell-scripting)
CPP-Options: -DPM36_HASKELL_SCRIPTING
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, ProjectM36.Interpreter, TutorialD.Interpreter.LoginRolesOperator
main-is: TutorialD/Interpreter/DatabaseContextFunctionScript.hs
Test-Suite test-relation
import: commontest
type: exitcode-stdio-1.0
main-is: Relation/Basic.hs
Test-Suite test-static-optimizer
import: commontest
type: exitcode-stdio-1.0
main-is: Relation/StaticOptimizer.hs
Test-Suite test-transactiongraph-persist
import: commontest
type: exitcode-stdio-1.0
main-is: TransactionGraph/Persist.hs
Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Printer
Test-Suite test-relation-import-csv
import: commontest
type: exitcode-stdio-1.0
main-is: Relation/Import/CSV.hs
Test-Suite test-tutoriald-import-tutoriald
import: commontest
type: exitcode-stdio-1.0
build-depends: warp, wai
main-is: TutorialD/Interpreter/Import/ImportTest.hs
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
Test-Suite test-relation-export-csv
import: commontest
type: exitcode-stdio-1.0
main-is: Relation/Export/CSV.hs
Test-Suite test-transactiongraph-merge
import: commontest
type: exitcode-stdio-1.0
main-is: TransactionGraph/Merge.hs
Test-Suite test-prettyprinter
import: commontest
type: exitcode-stdio-1.0
main-is: TutorialD/PrinterTest.hs
Other-Modules: TutorialD.Printer, TutorialD.Interpreter.Base, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types
benchmark bench
import: commontest
build-depends: criterion
type: exitcode-stdio-1.0
main-is: benchmark/Relation.hs
benchmark ondiskclient
import: commontest
type: exitcode-stdio-1.0
main-is: benchmark/OnDiskClient.hs
GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
GHC-Options: -rtsopts -Wall -threaded -finfo-table-map -fdistinct-constructor-tables
if impl(ghc <9.4)
GHC-Options: -eventlog
Other-Modules: ProjectM36.Cli,
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.TransGraphRelationalOperator,
TutorialD.Interpreter.TransactionGraphOperator,
TutorialD.Interpreter.Types,
TutorialD.Interpreter.LoginRolesOperator,
TutorialD.Printer
Test-Suite test-server
import: commontest
type: exitcode-stdio-1.0
main-is: Server/Main.hs
Executable Example-SimpleClient
Default-Language: Haskell2010
Default-Extensions: OverloadedStrings
Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, 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, curryer-rpc
Main-Is: examples/SimpleClient.hs
GHC-Options: -Wall -threaded
Executable Example-OutOfTheTarpit
Default-Language: Haskell2010
Default-Extensions: OverloadedStrings
Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, 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, random
Main-Is: examples/out_of_the_tarpit.hs
GHC-Options: -Wall -threaded
Executable Example-Blog
Default-Language: Haskell2010
Default-Extensions: OverloadedStrings
Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, 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 >= 0.22, blaze-html, http-types, winery, random
Main-Is: examples/blog.hs
GHC-Options: -Wall -threaded
Executable Example-Hair
Default-Language: Haskell2010
Default-Extensions: OverloadedStrings
Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, 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, random
Main-Is: examples/hair.hs
GHC-Options: -Wall -threaded
Executable Example-Plantfarm
Default-Language: Haskell2010
Default-Extensions: OverloadedStrings
Build-Depends: aeson, barbies, base, containers, deepseq, hashable, project-m36, random, scotty >= 0.22, text, winery, exceptions
Main-Is: examples/Plantfarm.hs
GHC-Options: -Wall -threaded
Executable Example-CustomTupleable
Default-Language: Haskell2010
Default-Extensions: OverloadedStrings
Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, 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
Main-Is: examples/CustomTupleable.hs
GHC-Options: -Wall -threaded
Executable Example-Hospital
Default-Language: Haskell2010
Default-Extensions: OverloadedStrings
Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, 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, random
Main-Is: examples/Hospital.hs
GHC-Options: -Wall -threaded
Executable Example-DerivingCustomTupleable
Default-Language: Haskell2010
Build-Depends: base, text, deepseq, project-m36, winery
Main-Is: examples/DerivingCustomTupleable.hs
GHC-Options: -Wall -threaded
Executable Example-Zoo
Default-Language: Haskell2010
Build-Depends: base, text, deepseq, project-m36, winery, random, time
Main-Is: examples/zoo.hs
GHC-Options: -Wall -threaded
Test-Suite test-scripts
import: commontest
type: exitcode-stdio-1.0
main-is: scripts.hs
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, TutorialD.Interpreter.LoginRolesOperator
Executable project-m36-websocket-server
Default-Language: Haskell2010
Build-Depends: base, aeson, path-pieces, either, conduit, http-api-data, template-haskell, websockets, 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, scientific, curryer-rpc
Main-Is: ProjectM36/Server/WebSocket/websocket-server.hs
Other-Modules: ProjectM36.Cli, 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, ProjectM36.Interpreter, TutorialD.Interpreter.LoginRolesOperator
GHC-Options: -Wall -threaded
Hs-Source-Dirs: ./src/bin
Default-Extensions: OverloadedStrings
Test-Suite test-websocket-server
import: commontest
type: exitcode-stdio-1.0
main-is: Server/WebSocket.hs
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, ProjectM36.Interpreter, ProjectM36.Cli, TutorialD.Interpreter.LoginRolesOperator
Test-Suite test-isomorphic-schemas
import: commontest
type: exitcode-stdio-1.0
main-is: IsomorphicSchema.hs
Test-Suite test-atomable
import: commontest
type: exitcode-stdio-1.0
main-is: Relation/Atomable.hs
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, ProjectM36.Cli, TutorialD.Interpreter.LoginRolesOperator
Test-Suite test-multiprocess-access
import: commontest
type: exitcode-stdio-1.0
main-is: MultiProcessDatabaseAccess.hs
Test-Suite test-transactiongraph-automerge
import: commontest
type: exitcode-stdio-1.0
main-is: TransactionGraph/Automerge.hs
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, ProjectM36.Cli, TutorialD.Interpreter.LoginRolesOperator
Test-Suite test-tupleable
import: commontest
type: exitcode-stdio-1.0
main-is: Relation/Tupleable.hs
Test-Suite test-client-simple
import: commontest
Main-Is: Client/Simple.hs
type: exitcode-stdio-1.0
-- test for file handle leaks
Executable handles
Default-Language: Haskell2010
Default-Extensions: OverloadedStrings
Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, 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, curryer-rpc
main-is: benchmark/Handles.hs
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.TransGraphRelationalOperator,
TutorialD.Interpreter.TransactionGraphOperator,
TutorialD.Interpreter.Types,
TutorialD.Printer,
ProjectM36.Interpreter,
ProjectM36.Cli,
TutorialD.Interpreter.LoginRolesOperator
GHC-Options: -Wall -threaded -rtsopts
HS-Source-Dirs: ./src/bin
if flag(profiler)
GHC-Prof-Options: -fprof-auto -rtsopts -threaded -Wall
Test-Suite test-dataframe
import: commontest
type: exitcode-stdio-1.0
Main-Is: DataFrame.hs
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, ProjectM36.Interpreter, TutorialD.Interpreter.LoginRolesOperator
Test-Suite test-cache
import: commontest
type: exitcode-stdio-1.0
Main-Is: Cache.hs
Test-Suite test-accesscontrollist
import: commontest
type: exitcode-stdio-1.0
Main-Is: AccessControlList.hs
Test-Suite test-loginroles
import: commontest
type: exitcode-stdio-1.0
Main-Is: LoginRoles.hs
Test-Suite test-accesscontrol
import: commontest
type: exitcode-stdio-1.0
Main-Is: AccessControl.hs
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.LoginRolesOperator
TutorialD.Interpreter.RODatabaseContextOperator
TutorialD.Interpreter.RelationalExpr
TutorialD.Interpreter.SchemaOperator
TutorialD.Interpreter.TestBase
TutorialD.Interpreter.TransGraphRelationalOperator
TutorialD.Interpreter.TransactionGraphOperator
TutorialD.Interpreter.Types
TutorialD.Printer