Personal tools

Applications and libraries/Database interfaces/CoddFish

From HaskellWiki

< Applications and libraries | Database interfaces(Difference between revisions)
Jump to: navigation, search
(Added HList link under related concepts)
Line 24: Line 24:
 
* [[Extensible record]]
 
* [[Extensible record]]
 
* [[Relational algebra]]
 
* [[Relational algebra]]
  +
* [http://homepages.cwi.nl/~ralf/HList/ HList --- a Haskell library for strongly typed heterogeneous collections].

Revision as of 08:34, 19 June 2006

Contents


1 Introduction

CoddFish is contained by the Pure Project and written by Alexandra Silva and Joost Visser. It is a strongly-typed model of relational databases and operations on them. In this model, table meta-data is represented by type-level entities that guard the semantic correctness of all database operations at compile time. The model relies on typeclass bounded and parametric polymorphism and it is encoded in the functional programming language Haskell. Apart from the standard relational database operations, such as selection and join, it contains functional dependencies, normal forms, and operations for database transformation. Functional dependency information is represented at the type level, and can be transported through operations. This means that type inference statically computes functional dependencies on the result from those on the arguments. The model can be used to design and experiment with typed languages for modelling, programming, and migrating databases.


2 Related concepts