Difference between revisions of "Extensible record"
Jump to navigation
Jump to search
EndreyMark (talk | contribs) (Updating link to ,,Port HaskellDB to HList'' ticket, according to its new location on Trac) |
EndreyMark (talk | contribs) (→CoddFish: new section added (referring to CoddFish), and as a consequence, restructuring section strucure, adding table of contents) |
||
Line 1: | Line 1: | ||
+ | __TOC__ |
||
⚫ | |||
⚫ | |||
⚫ | |||
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. |
||
+ | == Papers and libraries == |
||
− | See also |
||
* [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 14: | 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 ==== |
||
+ | |||
⚫ | |||
⚫ | |||
⚫ | |||
+ | |||
+ | [[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
Proposals, implementations can be found on the FirstClassLabels page of Haskell' Wiki.
Papers and libraries
- 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 possible relatedness to HaskellDB project.
- Daan Leijen: First-class labels for extensible rows. See also the description of the Haskell-like language Morrow, it is based on the concepts of the article.
- Simon Peyton Jones and Greg Morrisett: A proposal for records in Haskell
- Mark Jones and Simon Peyton Jones: Lightweight Extensible Records for Haskell
- Mark P. Jones: A prototype implementation of extensible records for Hugs
- Didier Remy's Typing record concatenation for free on Erik Knoop's page
- Benedict R. Gaster, Mark P. Jones: A Polymorphic Type System for Extensible Records and Variants
- Chameleon, a Haskell-like language, see its 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 HaskellDB project. More precisely, the problem is described in the paper downloadable from
- Chalmers version of HaskellDB (see Papers subsection on Documentation)
- which presupposes reading also paper on the Daam Leijen's original HaskellDB page (see Documentation subpage, PostScript version)
HaskellDB uses its own extensible record sytem, but see also HaskellDB#Future.
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.