zeromq-haskell: bindings to zeromq

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

Bindings to zeromq (

[Skip to Readme]
Versions [faq] 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 Toralf Wittner, David Himmelstrup
Author Toralf Wittner
Category System, FFI
Home page
Uploaded by ToralfWittner at 2010-02-25T18:18:30Z
Distributions NixOS:0.8.4
Downloads 13887 total (34 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for zeromq-haskell-0.2.1

[back to package description]
This library provides Haskell bindings to zeromq (

· Current status

Version 0.2 - This software currently has *alpha* status, i.e. it had
only seen very limited testing and changes to its API might happen.

This software was developed and tested on Linux 2.6.31 with GHC-6.12.1
using the current git HEAD of zeromq2 (

· Installation

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

· Usage

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

- init
- term
- socket
- close
- setOption
- subscribe
- unsubscribe
- bind
- connect
- send
- send'
- flush
- receive
- 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. 'P2P' and the resulting socket is of type 'Socket P2P'.
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.

· Examples

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

· Bugs

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