Personal tools

Extensible record

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(Updating link to ,,Port HaskellDB to HList'' ticket, according to its new location on Trac)
(CoddFish: new section added (referring to CoddFish), and as a consequence, restructuring section strucure, adding table of contents)
Line 1: Line 1:
A problem where some concepts of extensible records could be useful is described in the [[Libraries and tools/Database interfaces/HaskellDB|HaskellDB]] project. More precisely, the problem is described in the paper downloadable from
+
__TOC__
* [http://haskelldb.sourceforge.net/ Chalmers version of HaskellDB] (see ''Papers'' subsection on [http://haskelldb.sourceforge.net/#documentation Documentation])
 
* which presupposes reading also paper on the [http://www.haskell.org/haskellDB/ Daam Leijen's original HaskellDB] page (see [http://www.haskell.org/haskellDB/doc.html Documentation subpage], PostScript version)
 
   
 
Proposals, implementations can be found on the [http://hackage.haskell.org/trac/haskell-prime/wiki/FirstClassLabels FirstClassLabels] page of Haskell' Wiki.
 
Proposals, implementations can be found on the [http://hackage.haskell.org/trac/haskell-prime/wiki/FirstClassLabels FirstClassLabels] page of Haskell' Wiki.
   
See also
+
== Papers and libraries ==
 
* [http://homepages.cwi.nl/~ralf/HList/ HList --- a Haskell library for strongly typed heterogeneous collections] includes also extensible records. Its relatedness to database programming is described in the articles, se also its [http://hackage.haskell.org/trac/summer-of-code/ticket/33 possible] relatedness to [[Libraries and tools/Database interfaces/HaskellDB|HaskellDB]] project.
 
* [http://homepages.cwi.nl/~ralf/HList/ HList --- a Haskell library for strongly typed heterogeneous collections] includes also extensible records. Its relatedness to database programming is described in the articles, se also its [http://hackage.haskell.org/trac/summer-of-code/ticket/33 possible] relatedness to [[Libraries and tools/Database interfaces/HaskellDB|HaskellDB]] project.
 
* Daan Leijen: [http://www.cs.uu.nl/~daan/pubs.html#fclabels First-class labels for extensible rows]. See also the description of the Haskell-like language [http://www.cs.uu.nl/~daan/morrow/ Morrow], it is based on the concepts of the article.
 
* Daan Leijen: [http://www.cs.uu.nl/~daan/pubs.html#fclabels First-class labels for extensible rows]. See also the description of the Haskell-like language [http://www.cs.uu.nl/~daan/morrow/ Morrow], it is based on the concepts of the article.
Line 12: Line 12:
 
* Benedict R. Gaster, Mark P. Jones: [http://citeseer.ist.psu.edu/gaster96polymorphic.html A Polymorphic Type System for Extensible Records and Variants]
 
* Benedict R. Gaster, Mark P. Jones: [http://citeseer.ist.psu.edu/gaster96polymorphic.html A Polymorphic Type System for Extensible Records and Variants]
 
* [http://www.comp.nus.edu.sg/~sulzmann/chameleon/ Chameleon], a Haskell-like language, see its [http://www.comp.nus.edu.sg/~sulzmann/chameleon/download/haskell.html#record records]
 
* [http://www.comp.nus.edu.sg/~sulzmann/chameleon/ Chameleon], a Haskell-like language, see its [http://www.comp.nus.edu.sg/~sulzmann/chameleon/download/haskell.html#record records]
  +
  +
== Applications ==
  +
  +
=== Declarative database management ===
  +
  +
Such systems can achive more type safety (compared to direct SQL handling).
  +
  +
==== HaskellDB ====
  +
  +
A problem where some concepts of extensible records could be useful is described in the [[Libraries and tools/Database interfaces/HaskellDB|HaskellDB]] project. More precisely, the problem is described in the paper downloadable from
  +
* [http://haskelldb.sourceforge.net/ Chalmers version of HaskellDB] (see ''Papers'' subsection on [http://haskelldb.sourceforge.net/#documentation Documentation])
  +
* which presupposes reading also paper on the [http://www.haskell.org/haskellDB/ Daam Leijen's original HaskellDB] page (see [http://www.haskell.org/haskellDB/doc.html Documentation subpage], PostScript version)
  +
  +
[[Libraries and tools/Database interfaces/HaskellDB|HaskellDB]] uses its own extensible record sytem, but see also [[Libraries and tools/Database interfaces#Future/HaskellDB|HaskellDB#Future]].
  +
  +
==== CoddFish ====
  +
  +
[[Libraries and tools/Database interfaces/CoddFish|CoddFish]] is another declaratice, type safe database system. As for extensible record system, it uses [http://homepages.cwi.nl/~ralf/HList/ HList --- a Haskell library for strongly typed heterogeneous collections].
   
 
[[Category:Proposals]]
 
[[Category:Proposals]]

Revision as of 19:47, 16 June 2006

Contents


Proposals, implementations can be found on the FirstClassLabels page of Haskell' Wiki.

1 Papers and libraries

2 Applications

2.1 Declarative database management

Such systems can achive more type safety (compared to direct SQL handling).

2.1.1 HaskellDB

A problem where some concepts of extensible records could be useful is described in the HaskellDB project. More precisely, the problem is described in the paper downloadable from

HaskellDB uses its own extensible record sytem, but see also HaskellDB#Future.

2.1.2 CoddFish

CoddFish is another declaratice, type safe database system. As for extensible record system, it uses HList --- a Haskell library for strongly typed heterogeneous collections.