Personal tools

Applications and libraries/Database interfaces/CoddFish

From HaskellWiki

< Applications and libraries | Database interfaces(Difference between revisions)
Jump to: navigation, search
m (Related concepts: refers to Relational algebra)
Line 4: Line 4:
   
 
[http://wiki.di.uminho.pt/wiki/bin/view/PURe/CoddFish CoddFish] is contained by the Pure Project and written by [http://wiki.di.uminho.pt/wiki/bin/view/Xana/WebHome Alexandra Silva] and [http://wiki.di.uminho.pt/wiki/bin/view/Joost/WebHome Joost Visser].
 
[http://wiki.di.uminho.pt/wiki/bin/view/PURe/CoddFish CoddFish] is contained by the Pure Project and written by [http://wiki.di.uminho.pt/wiki/bin/view/Xana/WebHome Alexandra Silva] and [http://wiki.di.uminho.pt/wiki/bin/view/Joost/WebHome Joost Visser].
It is another type safe and declarative approach to database management in Haskell (I mean another than [[../HaskellDB|HaskellDB]]). It is not able yet to achieve persistence by connecting to (real-life) database management systems. To achieve type safety, it uses [http://homepages.cwi.nl/~ralf/HList/ HList --- a Haskell library for strongly typed heterogeneous collections].
+
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.
  +
  +
   
 
== Related concepts ==
 
== Related concepts ==

Revision as of 08:29, 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