Book Chapter10.1007/978-3-642-24276-2_1
Haskell boards the ferry: database-supported program execution for Haskell
George Giorgidze,Torsten Grust,Tom Schreiber,Jeroen Weijers +3 more
- 01 Sep 2010
- pp 1-18
TL;DR: A Haskell library for database-supported program execution that avoids unnecessary data transfer and context switching between the database coprocessor and the programming language 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.
read more
Abstract: Relational database management systems can be used as a coprocessor for general-purpose programming languages, especially for those program fragments that carry out data-intensive and data-parallel computations. In this paper we present a Haskell library for databasesupported program execution. Data-intensive and data-parallel computations are expressed using familiar combinators from the standard list prelude and are entirely executed on the database coprocessor. Programming with the expressive list comprehension notation is also supported. The library, in addition to queries of basic types, supports computations over arbitrarily nested tuples and lists. The implementation avoids unnecessary data transfer and context switching between the database coprocessor and the programming language 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.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Extracting Equivalent SQL from Imperative Code in Database Applications
K. Venkatesh Emani,Karthik Ramachandra,Subhro Bhattacharya,Sundararajarao Sudarshan +3 more
- 26 Jun 2016
TL;DR: This paper presents an approach to extracting a concise algebraic representation of (parts of) an application, which may include imperative code as well as SQL queries, which can be translated into SQL to improve application performance.
45
Making standard ML a practical database programming language
Atsushi Ohori,Katsuhiro Ueno +1 more
- 19 Sep 2011
TL;DR: This paper reports on seamless integration of SQL into SML# - an extension of Standard ML, which makes SQL queries first-class citizens, which can be freely combined with any other language constructs definable in Standard ML.
26
Language-integrated provenance
Stefan Fehrenbach,James Cheney +1 more
TL;DR: Extensions to the Links programming language are presented that build on its support for language-integrated query to support provenance queries by rewriting and normalizing monadic comprehensions and extending the type system to distinguish provenance metadata from normal data.
19
A Ferry-Based Query Backend for the Links Programming Language
Eberhard Karls
- 01 Jan 2011
TL;DR: This thesis describes the implementation of a FERRY-based query backend for the LINKS programming language that considerably extends the queryizable subset of LINKS and makes more database functionality available and at the same time keeps the safe, statically checked and compositional integration of queries.
18
Representations and Optimizations for Embedded Parallel Dataflow Languages
Alexander Alexandrov,Georgi Krastev,Volker Markl +2 more
- 29 Jan 2019
TL;DR: It is argued that the limitations listed above are a side effect of the adopted type-based embedding approach and an alternative EDSL design based on quotations is proposed, which reconciles the benefits of embedded parallel dataflow DSLs with the declarativity and optimization potential of external DSLs like SQL.
References
•Book
Haskell 98 language and libraries : the revised report
Peyton Jones,L Simon +1 more
- 01 Jan 2003
TL;DR: The Haskell 98 Language: Lexical structure, Declarations and bindings, Predefined types and classes, and Libraries.
1.4K
Comprehending monads
Philip Wadler
- 01 May 1990
TL;DR: It is shown how list comprehensions may be generalised to an arbitrary monad, and how the resulting programming feature can concisely express in a pure functional language some programs that manipulate state, handle exceptions, parse text, or invoke continuations.
854
Template meta-programming for Haskell
Tim Sheard,Simon Jones +1 more
- 03 Oct 2002
TL;DR: A new extension to the purely functional programming language Haskell that supports compile-time meta-programming and the ability to generate code at compile time allows the programmer to implement such features as polytypic programs, macro-like expansion, user directed optimization, and the generation of supporting data structures and functions from existing data structure and functions.
Kleisli, a functional query system
TL;DR: This paper contains a brief introduction to the Kleisli system and an example to illustrate its uses in the bioinformatics arena, and the influence of functional programming research that benefits the KleIS system, especially the less obvious ones at the implementation level.
173
Related Papers (5)
Torsten Grust,Jan Rittinger,Tom Schreiber +2 more
- 01 Sep 2010
[...]
Peter Buneman,Leonid Libkin,Dan Suciu,Val Tannen,Limsoon Wong +4 more
- 01 Mar 1994
George P. Copeland,David Maier +1 more
- 01 Jun 1984