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]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.1.0, 0.0.2.0
Change log CHANGELOG.md
Dependencies base (>=4.11 && <5), bytestring (>=0.10 && <0.12), containers (>=0.6.2 && <0.7), evdev (>=2.1 && <2.2), extra (>=1.6.18 && <1.8), filepath-bytestring (>=1.4.2 && <1.5), rawfilepath (>=1.0.0 && <1.1), streamly (>=0.8 && <0.9), streamly-fsnotify (>=1.1.1 && <1.2), unix (>=2.7.2 && <2.8) [details]
License BSD-3-Clause
Author George Thomas
Maintainer George Thomas
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 2022-01-06T17:58:34Z
Distributions NixOS:0.0.2.0
Downloads 226 total (8 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2022-08-26 [all 3 reports]

Readme for evdev-streamly-0.0.2.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 the Interoperation section of Streamly's tutorial.