Difference between revisions of "Applications and libraries/Database interfaces/CoddFish"
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 |
+ | [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. |
+ | 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.