MyNixOS website logo
Description

Library for IP and MAC addresses.

The ip package provides types and functions for dealing with IPv4 addresses, CIDR blocks, and MAC addresses. We provide instances for typeclasses found in commonly used packages like aeson, vector, and hashable. We also provide Parsers for working with attoparsec. . Notably, this package does not overload functions by introducing any typeclasses of its own. Neither does it prefix functions with the name of the type that they work on. Instead, functions of the same name are exported by several different modules, and it is expected that end users disambiguate by importing these modules qualified. . The only module intended to be imported unqualified is Net.Types. The types in this package should not conflict with the types in any other commonly used packages. . The following packages are intended to be used with this package: . * `yesod-ip`: Provides orphan instances needed to work with yesod and persistent. Also, provides a `yesod-form` helper.

Hackage

Instructions

Look at the haddocks for this package to learn how to use it.

Contributing

Most contributions are welcome, especially performance improvements in encoding and decoding of Text/ByteString. Please make sure to follow naming conventions followed in the modules.

Doctest

Doctest used to be provided as a test suite, but doctest-0.20 and higher do not require this to be run. To run the doctests, make sure you have doctest on your path (i.e. run cabal install doctest), and then run:

cabal build
cabal repl --build-depends=QuickCheck --with-ghc=doctest --repl-options='-fno-warn-orphans'

This runs incredibly slowly, but it works for now. Doctest is not run by CI, so if you make a change that adds more doctests, it needs to be run by hand by someone. (The maintainer is happy to do this if you're on a platform where doctest is finicky.)

Metadata

Version

1.7.8

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows