Extensible Records for Haskell. Pull requests welcome! Come visit us on #vinyl on freenode.
Haskell Shell

README.markdown

Vinyl is a general solution to the records problem in Haskell using type level strings and other modern GHC features, featuring static structural typing (with a subtyping relation), and automatic row-polymorphic lenses. All this is possible without Template Haskell.

First, install Vinyl from Hackage:

cabal update
cabal install vinyl

To learn more, try this tutorial.