@hackage HList0.5.4.0
Heterogeneous lists
Installation
Tested Compilers
Dependencies (9)
- array
- base >=4.7 && <4.21
- base-orphans
- ghc-prim
- mtl
- profunctors Show all…
Dependents (26)
@hackage/Spock, @hackage/synthesizer-llvm, @hackage/functional-arrow, @hackage/ixmonad, @hackage/Rlang-QQ, @hackage/acme-everything, Show all…
Package Flags
new_type_eq
(off by default)
use Data.Type.Equality.== to define the instance of HEq instead of overlapping instances (in Data.HList.TypeEqO) (needs ghc >= 7.8)
This version does not allow `HEq x [x] f` to lead to f ~ False, unlike the version with overlapping instances. See https://ghc.haskell.org/trac/ghc/ticket/9918
(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.