socket-unix: Unix domain sockets

[ library, mit, network, system ] [ Propose Tags ]

A Unix domain socket extension for the socket library

[Skip to Readme]




Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS],,
Dependencies base (>=4.7 && <5), bytestring (>= && <0.11), socket (>= && < [details]
License MIT
Copyright 2017 Vyacheslav Hashov
Author Vyacheslav Hashov
Category System, Network
Home page
Source repo head: git clone
Uploaded by VyacheslavHashov at 2017-02-25T15:28:14Z
Reverse Dependencies 2 direct, 0 indirect [details]
Downloads 2534 total (11 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-02-25 [all 1 reports]

Readme for socket-unix-

[back to package description]

Available on Hackage License MIT Build Status


A Unix domain socket API for the socket library.


Creating the Unix domain socket:

import System.Socket
import System.Socket.Type.Stream
import System.Socket.Family.Unix

s <- socket :: IO (Socket Unix Stream Unix)

Creating the address for binding/connecting

address <- case socketAddressUnixPath "example.sock" of
             Just addr -> pure addr
             Nothing -> putStrLn "invalid pathname for socket"

Binding to a socket with a filename creates a socket in the filesystem, but does not unlink it after close called. You should handle deleting links yourself.


Linux and OS X are supported.