packages feed

zeromq-haskell-0.4.1: README.md

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