evdev-streamly: Bridge for working with evdev and streamly

[ bsd3, library, streamly, system ] [ Propose Tags ]

Functions for working with streams of input events. Often much more pleasant than working in a more imperative style.


[Skip to Readme]
Versions [faq] 0.0.1.0
Change log CHANGELOG.md
Dependencies base (>=4.11 && <5), bytestring (==0.10.*), containers (>=0.6.2 && <0.7), evdev (>=2.0 && <2.2), extra (>=1.6.18 && <1.8), posix-paths (>=0.2.1 && <0.3), rawfilepath (>=0.2.4 && <0.3), streamly (>=0.6.1 && <0.8), streamly-fsnotify (>=1.1.1 && <1.2), unix (>=2.7.2 && <2.8) [details]
License BSD-3-Clause
Author George Thomas
Maintainer George Thomas
Revised Revision 1 made by GeorgeThomas at 2021-02-12T20:41:19Z
Category Streamly, System
Home page https://github.com/georgefst/evdev
Source repo head: git clone git://github.com/georgefst/evdev.git
Uploaded by GeorgeThomas at 2020-05-30T16:36:31Z
Distributions NixOS:0.0.1.0
Downloads 91 total (3 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]

Modules

[Index] [Quick Jump]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


Readme for evdev-streamly-0.0.1.0

[back to package description]

Evdev + Streamly

This library provides provides a high level Streamly-based interface to evdev, for working with streams of input events.

It doesn't re-export anything, so you will almost certainly also need to depend directly on both of those packages.

Many of the functions in this library make use of concurrency, so you will probably want --ghc-options=-threaded for any executables you build, in order to enable the threaded runtime, and get the expected behaviour. This should be on by default in a near-future version of GHC.

Why streamly?

Compared to other Haskell streaming libraries, I've found streamly to have a remarkably easy-to-use API, and the best, simplest support for concurrency. For example, merging concurrent streams of events, from different devices, is trivial.

If you wish to use this library alongside conduit, pipes etc. then see here for a guide on interoperation.