traildb: TrailDB bindings for Haskell

[ database, library, mit ] [ Propose Tags ]

Check out for information on these bindings.

TrailDB project home page is at

[Skip to Readme]


[Last Documentation]

  • System
    • System.TrailDB
      • System.TrailDB.Error
      • System.TrailDB.Internal


Automatic Flags

Use IORef instead of MVar as the container for Tdb. Can improve performance (very slightly) but you lose thread safety.


Build the wikipedia scanning executable from https:/github.comjoeyrobert/traildb-benchmark This program requires you to download the wikipedia TrailDB manually; check out the linked git repository for where to get it.


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,,,,,,
Dependencies base (>=4.6 && <5.0), bytestring, containers (>=0.4 && <1.0), directory, exceptions, primitive, profunctors, text, time, traildb, transformers, unix, vector [details]
License MIT
Copyright AdRoll Inc (c) 2016-2017
Author Mikko Juola
Category Database
Source repo head: git clone
Uploaded by Adeon at 2018-10-22T14:16:51Z
Distributions NixOS:
Reverse Dependencies 1 direct, 0 indirect [details]
Executables traildb-wikipedia-benchmark
Downloads 4576 total (16 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2018-10-22 [all 3 reports]

Readme for traildb-

[back to package description]

Hackage Travis CI

TrailDB Haskell bindings

TrailDB logo

These are the official Haskell bindings to TrailDB. Most of the API is covered (with the notable exception of filters). Check out System.TrailDB module for some examples and documentation.

How to build

These bindings can be installed using cabal-install or stack on Linux. At least GHC 7.8 is required.

Fetch the code in some way. You can clone []. Then follow these instructions.

You need at least traildb and Judy libraries installed to compile and use these bindings. Judy is a dependency of TrailDB itself so if you have TrailDB the C library installed properly, then most likely you don't need to do anything else regarding dependencies.


Cabal is usually in the package repositories of your distribution.

$ apt-get install cabal-install      # Debian/Mint/Ubuntu
$ dnf install ghc cabal-install      # Fedora 22
$ pacman -S ghc cabal-install        # Arch Linux
$ pkg install hs-cabal-install       # FreeBSD

$ cabal install                      # Run this in the root of traildb-haskell

# Test it out!

$ cd examples
$ ghc tutorial_simple_traildb.hs -o tutorial
$ ./tutorial

After this, bindings should be usable in other Haskell projects by requiring traildb.


Stack is a new fancy Haskell build tool. Because it's new and fancy, it doesn't quite have the same level of presence in Linux package repositories than cabal-install.

You can manually download stack from [] if it's not in your repositories.

# Once you have `stack` in your PATH:

$ stack setup      # May be optional if you have GHC already installed and it can be used
$ stack install

# Test it out!

$ cd examples
$ stack ghc -- tutorial_simple_traildb.hs -o tutorial
$ ./tutorial


These bindings are licensed under the MIT license.

How to contribute or report bugs

Use our GitHub page to report issues or to open pull requests.

Example program

Check out examples/tutorial_simple_traildb.hs in this repository.