Difference between revisions of "Applications and libraries/Database interfaces/CoddFish"

From HaskellWiki
Jump to navigation Jump to search
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 a strongly-typed model of relational databases and operations
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].
 
  +
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

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.


Related concepts