@hackage HList0.5.4.0

Heterogeneous lists

(C) 2004--2010, Oleg Kiselyov, Ralf Laemmel, Keean Schupke

Contributors: Justin Bailey, Brian Bloniarz, Gwern Branwen, Einar Karttunen, Daniil Iaitskov and Adam Vogt

The HList library and samples


Getting the code

git clone https://bitbucket.org/HList/hlist HList


Pushing changes

You need an account at bitbucket.org

cd HList git clone git@bitbucket.org:HList/hlist.git git pull git commit --interactive git push


This distribution covers all essential issues discussed in the HList paper, though the implementation has been adapted to ghc features implemented after the paper's writing.

Additional examples and HList operations are provided. The code from the database section of the HList paper is not included since doing so would have implied inclusion of substantial packages, namely the underlying infrastructure for database access library.

You can get HList from Hackage or from bitbucket:

$ cabal update && cabal install HList

Or:

$ git clone https://bitbucket.org/HList/hlist HList $ cd HList; cabal install

The code was tested --- within the limits exercised in the source files --- with GHC 9.4.8 through 9.10.1 and it may still work older versions possibly back to GHC-7.6

Older compilers are not supported.

One may run "cabal test" to check the distribution.


The library can be built and tested in the checked environment (with compatible GHC, cabal and dependencies) provided by nix:

$ nix-build # builds and runs tests $ nix-shell --pure # drops into an isolated shell

nix usually can be installed with a single line:

$ sh <(curl -L https://nixos.org/nix/install) --no-daemon


See ChangeLog for updates.