Reading, writing and manipulating ".tar" archive files.

Version on this page:
LTS Haskell 22.29:
Stackage Nightly 2024-07-17:
Latest on Hackage:

See all snapshots tar appears in

Maintained by Duncan Coutts
This version can be pinned in stack with:tar-,5181

Module documentation for

This library is for working with ".tar" archive files. It can read and write a range of common variations of archive format including V7, POSIX USTAR and GNU formats.

It provides support for packing and unpacking portable archives. This makes it suitable for distribution but not backup because details like file ownership and exact permissions are not preserved.

It also provides features for random access to archive content using an index.


See also http://pvp.haskell.org/faq Herbert Valerio Riedel [email protected] March 2018

  • Add support for GHC 8.8.1 / base-4.13 Herbert Valerio Riedel [email protected] March 2018

  • Add support for GHC 8.4.1 / base-4.11
  • Add Semigroup instance for Entries Duncan Coutts [email protected] May 2016 Duncan Coutts [email protected] April 2016

  • Fix compatability when using ghc-7.4.x and directory >= 1.2.3 Duncan Coutts [email protected] January 2016

  • Fix compatability with directory-1.2.3+ Duncan Coutts [email protected] January 2016

  • Work with old version of bytestring (using bytestring-builder package).
  • Builds with GHC 6.10 – 8.0.
  • Change type of Index.serialise to be simply strict bytestring.
  • Preserve file timestamps on unpack (with directory-1.2.3+) Duncan Coutts [email protected] January 2016

  • Revert accidental minor API change in 0.4.x series (the type of the owner and group name strings). The and releases contained the accidental API change.
  • Add a handy foldlEntries function Duncan Coutts [email protected] January 2016

  • Build and warning fixes for GHC 7.10 and 8.0
  • New Index module function toList to get all index entries Duncan Coutts [email protected] January 2016

  • New Index function unfinalise to extend existing index
  • 9x faster reading
  • 9x faster index construction
  • 24x faster index extension
  • More compact entry types, using ByteStrings
  • More Eq and Show instances
  • Greater QC test coverage
  • Fix minor bug in reading non-standard v7 format entries Edsko de Vries [email protected] October 2015

  • Fix bug in Index Duncan Coutts [email protected] July 2015

  • Fix tests for the Index modules (the code was right) Duncan Coutts [email protected] July 2015

  • New Index module for random access to tar file contents
  • New lower level tar file I/O actions
  • New tarball file ‘append’ action Duncan Coutts [email protected] January 2015

  • Build with GHC 7.10
  • Switch from old-time to time package
  • Added more instance for Entries type Duncan Coutts [email protected] October 2012

  • fixes to work with directory 1.2
  • More Eq/Ord instances Duncan Coutts [email protected] February 2012

  • More explicit error types and error handling
  • Support star base-256 number format
  • Improved API documentation