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

From HaskellWiki
Jump to navigation Jump to search
(Added HList link under related concepts)
(Introduction changed (to appear less dense))
Line 3: Line 3:
 
== Introduction ==
 
== Introduction ==
   
[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 a strongly-typed model that can be used to design and experiment with typed languages for modelling, programming, and migrating databases.
  +
It is a strongly-typed model of relational databases and operations
 
  +
It is encoded in the functional programming language Haskell and it makes extensive use of typeclass bounded, parametric polymorphism and [http://homepages.cwi.nl/~ralf/HList/ 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
 
Apart from the standard relational database operations, such as
 
selection and join, it contains functional dependencies, normal
 
selection and join, it contains functional dependencies, normal
forms, and operations for database transformation. Functional dependency information is represented at the type
+
forms, and operations for database transformation.
  +
level, and can be transported through operations. This means that
 
  +
Further details can be found in the draft paper available from the [http://wiki.di.uminho.pt/wiki/bin/view/PURe/CoddFish project webpage].
type inference statically computes functional dependencies on the
 
  +
result from those on the arguments.
 
  +
== Availability ==
The model can be used to design and experiment with typed languages
 
for modelling, programming, and migrating databases.
 
   
  +
CoddFish is available as part of the [http://wiki.di.uminho.pt/wiki/bin/view/PURe/PUReSoftware UMinho Haskell Libraries].
   
  +
== Credits ==
  +
* [http://wiki.di.uminho.pt/wiki/bin/view/Xana/WebHome Alexandra Silva]
  +
* [http://wiki.di.uminho.pt/wiki/bin/view/Joost/WebHome Joost Visser]
   
 
== Related concepts ==
 
== Related concepts ==

Revision as of 08:49, 19 June 2006

Introduction

CoddFish is a strongly-typed model that can be used to design and experiment with typed languages for modelling, programming, and migrating databases.

It is encoded in the functional programming language Haskell and it makes extensive use of typeclass bounded, parametric polymorphism and heterogeneous collections.

Apart from the standard relational database operations, such as selection and join, it contains functional dependencies, normal forms, and operations for database transformation.

Further details can be found in the draft paper available from the project webpage.

Availability

CoddFish is available as part of the UMinho Haskell Libraries.

Credits

Related concepts