Several options for thread-local-storage (TLS) in Haskell.

Version on this page:0.1.1
LTS Haskell 11.1:0.1.2
Stackage Nightly 2018-03-23:0.1.2
Latest on Hackage:0.1.2

See all snapshots thread-local-storage appears in

BSD3 licensed by Ryan Newton
Maintained by

Module documentation for 0.1.1


Hackage Hackage Dependencies [Haskell Programming Language][] [BSD3 License][tl;dr Legal: BSD3] Build "thread-local-storage package on Hackage" []: "The Haskell Programming Language" [tl;dr Legal: BSD3]: "BSD 3-Clause License (Revised)"

See .cabal file for description.

Here are some example benchmark results (on an Ivy Bridge i7-3770), with a typical time of 10.4 nanoseconds to get to a TLS variable given one IO thread per OS thread:

example benchmarks


0.1.2 [2017.06.23]

  • Fix the benchmark suite with criterion-1.2

0.1.1 [2017.01.22]

  • Expose Data.TLS.PThread.Internal. Note that there are no API guarantees whatsoever with this module, so use it with caution.
  • Add pthread to extra-libraries. Without it, some systems suffer from linker errors when using this library.
  • Fix build on GHC 7.6 and 7.8.
Depends on 2 packages:
Used by 1 package:
comments powered byDisqus