network: Low-level networking interface
This package provides a low-level networking interface.
High-Level Packages
Other packages provide higher level interfaces:
connection
hookup
network-simple
Extended Packages
network
seeks to provide a cross-platform core for networking. As such some
APIs live in extended libraries. Packages in the network
ecosystem are
often prefixed with network-
.
network-bsd
In network-3.0.0.0
the Network.BSD
module was split off into its own
package, network-bsd-3.0.0.0
.
network-uri
In network-2.6
the Network.URI
module was split off into its own package,
network-uri-2.6
. If you're using the Network.URI
module you can
automatically get it from the right package by adding this to your .cabal
file:
library build-depends: network-uri-flag
[Skip to Readme]
Modules
[Index] [Quick Jump]
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
devel | using tests for developers | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- network-3.1.4.0.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Readme for network-3.1.4.0
[back to package description]GitHub Actions status
network
To build this package directly from git, you must run autoreconf -i
.
And then use cabal configure; cabal build
or stack build
.
Support Policy
GHC
The network
package support 3 major versions of GHC only.
This means that the current stable version and two previous stable versions are supported.
However, all GHC 8.x are supported currently.
Windows
We use MSYS to build this package on Windows.
To use the network
package on Cygwin, use stack
.
Coding
.hs files
If you need C macros created by "configure" or CALLCONV
/SAFE_ON_WIN
, put
#include "HsNetDef.h"
"HsNet.h" does now work well since Mac's cpp sucks.
.hsc files
If you need #peek
, #poke
and others, create a .hsc
file with
#include "HsNet.h"
HsNet.h
includes HsNefDef.h
and necessary C structures.
Unfortunately, hsc2hs
does not convert C macros.
So, if you use CALLCONV
/SAFE_ON_WIN
, the following is also necessary:
##include "HsNetDef.h"
Milestones
2.6
- Making
SockAddrCan
deprecated
2.7
See https://github.com/haskell/network/issues/296
- Making
Network
deprecated - Making
Network.BSD
deprecated - Making
MkSocket
deprecated - Making many APIs deprecated
2.8
- Stop exporting the
PortNum
Constructor inPortNumber
3.0
- Removing
Network
- Removing
Network.BSD
- Removing
SockAddrCan
- Changing the internal structure of
Socket
. - Make address extensible.
- Remove EOF errors