Use network sockets together with the pipes library. https://github.com/k0001/pipes-network

Version on this page:0.6.5
LTS Haskell 12.22:0.6.5
Stackage Nightly 2018-12-12:0.6.5
Latest on Hackage:0.6.5

See all snapshots pipes-network appears in

BSD3 licensed by Renzo Carbonara
Maintained by renzocarbonaraλgmail.com

Module documentation for 0.6.5

There are no documented modules for this package.


Utilities to deal with sockets using the pipes and pipes-safe libraries.

Check the source or rendered Haddocks for extensive documentation.

This code is licensed under the terms of the so called 3-clause BSD license. Read the file named LICENSE found in this same directory for details.

See the PEOPLE file to learn about the people involved in this effort.


Version 0.6.5

  • Remover upper bound on all dependencies except base.

  • Fixed internal error handling in server-side functions.

  • Re-export MonadSafe.


  • Raise upper-bound dependency on transformers and pipes.

Version 0.6.4

  • The various fromServe and toServe* pipes from Pipes.Network.TCP.Safe now close the listening socket immediately after accepting a first connection.

  • Re-export sendLazy, sendMany and closeSock.

  • Add to{Socket,SocketTimeout,Serve,Connect}{Lazy,Many}.

  • Fix issue #29 where fromSocketTimeout and fromSocketTimeoutN would loop forever.

Version 0.6.3

  • Bump network-simple, transformers and pipes-safe upper bounds.

  • Remove Base m ~ IO constraints from Pipes.Network.TCP.Safe, as not all of them were removed in 0.6.1.

Version 0.6.2

  • Dependency bumps (upper bounds).

Version 0.6.1

  • Remove the Base m ~ IO constraint from Pipes.Network.TCP.Safe

Version 0.6.0

  • Significantly upgraded the API and renamed functions to play well with pipes-4.0.0, pipes-safe-2.0.0 and network-simple-0.3.0.

  • Throw IOError in IO in order to report timeout errors. Delete the Timeout data-type.


  • Re-export Network.Socket.withSocketsDo.

  • Use TCP send and recv as eported by network-simple-


  • Removed Control.Proxy.TCP.Sync and Control.Proxy.TCP.Safe.Sync.


  • FIX: acceptFork now properly closes the connection socket, even in case of asynchronous exceptions.


  • Do not handle “Broken Pipe” errors on the *Write*D proxies anymore. As as a result, those proxies run forever and have a polymorphic return value, which makes this release binary compatible with, but not with


  • Quietly stop writing or reading bytes from a TCP socket if a “Broken Pipe” error happens, indicating that the remote end already closed the connection. Previously, a ResourceVanished exception was thrown.

  • All the *Write*D proxies now return () if the remote end closed the connection.


  • Depend on network-simple 0.2

  • In both modules Control.Proxy.TCP and Control.Proxy.TCP.Safe: serveFork was renamed to serve and the previous function named serve was removed.


  • Split many of the non-pipes-related TCP utilities to the own network-simple package.
  • Depend on network-simple and re-export its functions.


  • Dependency bumps.

Version 0.1.0

  • New backwards incompatible API
  • Based on pipes 3.1

Up to version 0.0.2

  • Based on pipes-core.
comments powered byDisqus