[Haskell] [ANNOUNCE] network-address-0.2.0

Sebastian Nowicki sebnow at gmail.com
Wed Sep 7 14:03:03 CEST 2011

Hi All,

I'm pleased to announce the release of network-address v0.2.0. The
library provides data structures and textual representation of network
addresses (IPv4, IPv6, subnets).

Major changes in this release:

 * Revised Address type class (readAddress was moved out of the class,
readsAddress :: String -> ReadS a was added for better error
 * Better support for IPv6 parsing (compressed zeroes).
 * Implementation of RFC5952 (a recommendation for IPv6 text
representation). Most notably showAddress for IPv6 compresses zeroes.

Example GHCi session:

*Data.Network.Address> let ip = readAddress "2001:db8:0:0:0::1" :: IPv6
*Data.Network.Address> ip
IPv6 2306139568115548160 1
*Data.Network.Address> showAddress ip
*Data.Network.Address> let subnet = readSubnet "2001:db8::1/56" :: IPSubnet IPv6
*Data.Network.Address> showSubnet subnet
*Data.Network.Address> ip `member` subnet

Planned for the next release:

 * Support for parsing IPv4 notation embedded in IPv6 (e.g. "::")
 * Performance optimisations - IPv6 parsing/pretty printing is quite
slow due to zero compression (>2x speed decrease)

The next release will likely be v1.0.0 as there isn't much to add. I'd
like to keep the API stable in that version, I welcome any feedback
regarding the API (or otherwise).

Hackage: http://hackage.haskell.org/package/network-address
GitHub: https://github.com/sebnow/haskell-network-address


More information about the Haskell mailing list