consecutive /24s, they might combine into a larger /23.
.IP \(bu
View the result of block combination in a useful way.
+.IP \(bu
+List them.
+.IP \(bu
+Find their associated PTR records.
.P
Hath does just that. It takes as its input (via stdin, or a file with
the -i parameter) a list of CIDR blocks.
the given CIDRs.
.P
.nf
-.I $ hath reversed <<< \(dq198.41.0.4\/30\(dq
+.I $ hath reversed <<< \(dq198.41.0.4/30\(dq
198.41.0.4: a.root-servers.net.
198.41.0.5:
198.41.0.6: rs.internic.net.
198.41.0.7:
.fi
.P
+The DNS lookups are usually the bottleneck for this mode, but we can
+perform them in parallel. Simply pass the number of threads to the GHC
+runtime on the command line; for example, the following will perform
+25 lookups in parallel:
+.P
+.nf
+.I $ hath reversed +RTS -N25 <<< \(dq198.41.0.4/24\(dq
+198.41.0.4: a.root-servers.net.
+198.41.0.5:
+198.41.0.6: rs.internic.net.
+\(pc\(pc\(pc
+.fi
+.P
Each of the modes also supports a present-tense flavor; the following
are equivalent to their counterparts: \fBregex\fR, \fBreduce\fR,
\fBdupe\fR, \fBdiff\fR, \fBlist\fR, \fBreverse\fR.