The hath package

[ Tags: agpl, program, utils ] [ Propose Tags ]

Hath is a Haskell program for working with network blocks in CIDR notation. When dealing with blocks of network addresses, there are a few things that one usually wants to do with them:

Hath has several modes to perform these functions:

This computes a (Perl-compatible) regular expression matching the input CIDR blocks. It's the default mode of operation.
This combines small blocks into larger ones where possible, and eliminates redundant blocks. The output should be equivalent to the input, though.
Shows only the blocks that would be removed by reduce; that is, it shows the ones that would get combined into larger blocks or are simply redundant.
Shows what would change if you used reduce. Uses diff-like notation.
List the IP addresses contained within the given CIDRs.


Compute a (Perl-compatible) regular expression matching the input CIDR blocks. It's the default mode of operation.

$ echo "" | hath

Combine two /24s into a /23:

$ echo "" | hath reduced

List the addresses in

$ echo | hath listed

The command-line syntax and complete set of options are documented in the man page.


Versions 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.1.0, 0.1.1, 0.1.2, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.3.0, 0.4.1, 0.4.2
Dependencies base (==4.*), cmdargs (>=0.10), MissingH (>=1.2), split (>=0.2), tasty (>=0.8), tasty-hunit (>=0.8), tasty-quickcheck (>=0.8.1) [details]
License AGPL-3
Author Michael Orlitzky
Maintainer Michael Orlitzky <>
Category Utils
Home page
Source repo head: git clone -b master
Uploaded Thu Nov 12 13:17:34 UTC 2015 by MichaelOrlitzky
Distributions NixOS:0.4.2
Executables hath
Downloads 4739 total (44 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2016-11-30 [all 4 reports]
Hackage Matrix CI


Maintainer's Corner

For package maintainers and hackage trustees