The zeromq-haskell package

[Tags:library, mit, test]

Bindings to zeromq (

[Skip to Readme]


Versions 0.1, 0.1.1, 0.1.2, 0.2, 0.2.1, 0.2.2, 0.3, 0.3.1, 0.4, 0.4.1, 0.4.2, 0.5.0, 0.6.0, 0.7.0, 0.7.1, 0.8, 0.8.1, 0.8.2, 0.8.3, 0.8.4
Dependencies base (>=3 && <5), bytestring, containers, unix [details]
License MIT
Copyright Copyright (c) 2010 zeromq-haskell authors
Author Toralf Wittner
Stability experimental
Category System, FFI
Home page
Uploaded Sun Dec 12 20:22:04 UTC 2010 by ToralfWittner
Distributions NixOS:0.8.4
Downloads 4400 total (18 in the last 30 days)
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for zeromq-haskell

Readme for zeromq-haskell-0.4.2

This library provides Haskell bindings to zeromq (

Current status

Version 0.4.1 - This software currently has beta status, i.e. it had seen limited testing. Changes to its API may still happen.

This software was developed and tested on Linux 2.6.35 with GHC-6.12.3 using zeromq-2.0.9.


As usual for Haskell packages this software is installed best via Cabal ( In addition to GHC it depends on 0MQ of course.


The API mostly follows 0MQ's. Public functions are:

  • init
  • term
  • socket
  • close
  • setOption
  • getOption
  • subscribe
  • unsubscribe
  • bind
  • connect
  • send
  • send'
  • receive
  • moreToReceive
  • poll

One difference to 0MQ's API is that sockets are parameterized types, i.e. there is not one socket type but when creating a socket the desired socket type has to be specified, e.g. Pair and the resulting socket is of type Socket Pair. This additional type information is used to ensure that only options applicable to the socket type can be set, hence ZMQ_SUBSCRIBE and ZMQ_UNSUBSCRIBE which only apply to ZMQ_SUB sockets have their own functions (subscribe and unsubscribe) which can only be used with sockets of type Socket Sub.

Other differences are mostly for convenience. Also one does not deal directly with 0MQ messages, instead these are created internally as needed.


The test folder contains some simple tests mostly mimicking the ones that come with 0MQ.


If you find any bugs or other shortcomings I would greatly appreciate a bug report, preferably via or e-mail to