Readme for zeromq-haskell-0.4.2
This library provides Haskell bindings to zeromq (http://zeromq.org).
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.
Installation
As usual for Haskell packages this software is installed best via Cabal (http://www.haskell.org/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
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.
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 http://github.com/twittner/zeromq-haskell/issues or e-mail to toralf.wittner@gmail.com