File: README.md

package info (click to toggle)
haskell-network 3.1.4.0-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 736 kB
  • sloc: sh: 3,264; haskell: 2,002; ansic: 536; makefile: 3
file content (74 lines) | stat: -rw-r--r-- 1,787 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
![GitHub Actions status](https://github.com/haskell/network/workflows/Haskell%20CI/badge.svg)
# [`network`](http://hackage.haskell.org/package/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](https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/intro.html#ghc-version-numbering-policy) 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

- [x] Making `SockAddrCan` deprecated

### 2.7

See https://github.com/haskell/network/issues/296

- [x] Making `Network` deprecated
- [x] Making `Network.BSD` deprecated
- [x] Making `MkSocket` deprecated
- [x] Making many APIs deprecated

### 2.8

- [x] Stop exporting the `PortNum` Constructor in `PortNumber`

### 3.0

- [x] Removing `Network`
- [x] Removing `Network.BSD`
- [x] Removing `SockAddrCan`
- [x] Changing the internal structure of `Socket`.
- [x] Make address extensible.
- [x] Remove EOF errors