Name: DSH Version: 0.12.0.1 Synopsis: Database Supported Haskell Description: This is a Haskell library for database-supported program execution. Using DSH, a relational database management system (RDBMS) can be used as a coprocessor for the Haskell programming language, especially for those program fragments that carry out data-intensive and data-parallel computations. . Database executable program fragments can be written using the monad comprehension notation [2] and list processing combinators from the Haskell list prelude. Note that rather than embedding a relational language into Haskell, we turn idiomatic Haskell programs into SQL queries. . DSH faithfully represents list order and nesting, and compiles the list processing combinators into relational queries. The implementation avoids unnecessary data transfer and context switching between the database coprocessor and the Haskell runtime by ensuring that the number of generated relational queries is only determined by the program fragment's type and not by the database size. . DSH can be used to allow existing Haskell programs to operate on large scale data (e.g., larger than the available heap) or query existing database resident data with Haskell. . Note that this package is flagged experimental and therefore is not suited for production use (we mean it!). This is a proof of concept implementation only. To learn more about DSH, our paper "The Flatter, the Better — Query Compilation Based on the Flattening Transformation." [1] is a recommended reading. The package includes a couple of examples that demonstrate how to use DSH. . The current release does not rely anymore on the loop-lifting compilation technique and the Pathfinder optimizer. Instead, it brings a completely rewritten query compiler based on Guy Blelloch's flattening transformation. This approach leads to a more robust compilation and produces more efficient query code. . To generate actual code for a relational backend, an additional backend package needs to be installed. Currently, the package 'dsh-sql' on Hackage provides SQL code generation for PostgreSQL. . Please read the release notes in 'README.md'. . 1. . 2. License: BSD3 License-file: LICENSE Author: Alexander Ulrich, George Giorgidze, Jeroen Weijers, Nils Schweinsberg Maintainer: alex@etc-network.de Stability: Experimental Category: Database Build-type: Simple Extra-source-files: examples/Example01.hs examples/Example02.hs examples/Example03.hs examples/dshify-tpch.sql README.md Cabal-version: >= 1.8 Flag debugcomp Description: Print debugging information for comprehension rewrites Default: False Flag debuggraph Description: Print debugging information for graph rewrites Default: False Library Extensions: CPP Build-depends: base >= 4.8 && < 5, random >= 1.1, process >= 1.2, template-haskell >= 2.9, containers >= 0.5, mtl >= 2.1, time >= 1.4, bytestring >= 0.10, text >= 1.2, aeson >= 0.8, kure >= 2.16, either >= 4.0, semigroups >= 0.16, ansi-wl-pprint >= 0.6.7.2, dlist >= 0.7, Decimal >= 0.4, QuickCheck >= 2.7, HUnit >= 1.2, test-framework >= 0.8, test-framework-quickcheck2 >= 0.3, test-framework-hunit >= 0.3, vector >= 0.10, hashable >= 1.2, unordered-containers >= 0.2, algebra-dag >= 0.1.1 Hs-source-dirs: src if flag(debugcomp) CPP-Options: -DDEBUGCOMP if flag(debuggraph) CPP-Options: -DDEBUGGRAPH GHC-Options: -Wall -fno-warn-orphans -fprof-auto -O2 Exposed-modules: Database.DSH Database.DSH.Compiler Database.DSH.Backend Database.DSH.Tests Database.DSH.VL Database.DSH.Common.QueryPlan Database.DSH.Common.Opt Database.DSH.Common.Type Database.DSH.Common.Vector Database.DSH.Common.Lang Database.DSH.Common.Impossible Other-modules: Database.DSH.Frontend.Internals Database.DSH.Frontend.Externals Database.DSH.Frontend.TH Database.DSH.Frontend.TupleTypes Database.DSH.Frontend.Builtins Database.DSH.Translate.Frontend2CL Database.DSH.Execute.TH Database.DSH.Execute Database.DSH.Common.Nat Database.DSH.Common.Pretty Database.DSH.Common.RewriteM Database.DSH.Common.Kure Database.DSH.Common.TH Database.DSH.CL.Lang Database.DSH.CL.Kure Database.DSH.CL.Primitives Database.DSH.CL.Opt Database.DSH.CL.Opt.Auxiliary Database.DSH.CL.Opt.PostProcess Database.DSH.CL.Opt.LoopInvariant Database.DSH.CL.Opt.PredPushdown Database.DSH.CL.Opt.Normalize Database.DSH.CL.Opt.CompNormalization Database.DSH.CL.Opt.PartialEval Database.DSH.CL.Opt.FlatJoin Database.DSH.CL.Opt.ThetaJoin Database.DSH.CL.Opt.SemiJoin Database.DSH.CL.Opt.AntiJoin Database.DSH.CL.Opt.NestJoin Database.DSH.CL.Opt.Resugar Database.DSH.FKL.Lang Database.DSH.FKL.Primitives Database.DSH.FKL.Rewrite Database.DSH.FKL.Kure Database.DSH.NKL.Lang Database.DSH.NKL.Kure Database.DSH.NKL.Rewrite Database.DSH.NKL.Primitives Database.DSH.Translate.CL2NKL Database.DSH.Translate.FKL2VL Database.DSH.Translate.NKL2FKL Database.DSH.Translate.VL2Algebra Database.DSH.VL.Lang Database.DSH.VL.Render.Dot Database.DSH.VL.VectorAlgebra Database.DSH.VL.Vectorize Database.DSH.VL.Primitives Database.DSH.VL.Opt.Properties.BottomUp Database.DSH.VL.Opt.Properties.Card Database.DSH.VL.Opt.Properties.Common Database.DSH.VL.Opt.Properties.Const Database.DSH.VL.Opt.Properties.Empty Database.DSH.VL.Opt.Properties.ReqColumns Database.DSH.VL.Opt.Properties.TopDown Database.DSH.VL.Opt.Properties.Types Database.DSH.VL.Opt.Properties.VectorType Database.DSH.VL.Opt.OptimizeVL Database.DSH.VL.Opt.Rewrite.Common Database.DSH.VL.Opt.Rewrite.Expressions Database.DSH.VL.Opt.Rewrite.PruneEmpty Database.DSH.VL.Opt.Rewrite.Redundant Database.DSH.VL.Opt.Rewrite.Aggregation Database.DSH.VL.Opt.Rewrite.Window Database.DSH.VL.Opt.Rewrite.Unused Database.DSH.Tests.Common Database.DSH.Tests.ComprehensionTests Database.DSH.Tests.LawTests Database.DSH.Tests.CombinatorTests Database.DSH.Tests.DSHComprehensions executable vldot Main-is: Database/DSH/Tools/VLDotGen.hs GHC-Options: -Wall -fno-warn-orphans hs-source-dirs: src build-depends: base >= 4.8 && < 5, mtl >= 2.1, aeson >= 0.8, time >= 1.4, containers >= 0.5, template-haskell >= 2.9, bytestring >= 0.10, Decimal >= 0.4, ansi-wl-pprint >= 0.6.7.2, semigroups >= 0.16, text >= 1.2, vector >= 0.10, algebra-dag >= 0.1 GHC-Options: -Wall -fno-warn-orphans source-repository head type: git location: https://github.com/ulricha/dsh