equeue: Application level triggered, and edge triggered event multiqueues.

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain]

A system for providing late binding for how different types of events are handled.

It is often important for an application to control how it consumes updates for optimal processing, but event sources are typically in control of delivery. The EQueue abstraction allows the consumer to provide an implimentation that balances delivery for its needs. To do this, it distinguishes events into two types, level and edge triggered.

Level triggered events are used where the resulting state is cared about and a pure model of how events combine is available as a Semigroup instance. The transitions it took to get to the new state between dequeues is not of interest.

Edge triggered events are where the sequence of occurences are of importance, or a pure model is not available.

Properties

Version0
Change logCHANGELOG.md
Dependenciesbase (>=4.12.0.0 && <4.13), containers, mtl, stm [details]
LicenseBSD-3-Clause
CopyrightCopyright (C) 2018 davean
Authordavean
Maintaineross@xkcd.com
CategoryConcurrency
Home pagehttps://oss.xkcd.com/
Source repositoryhead: git clone https://code.xkrd.net/AlON/equeue.git
UploadedThu Oct 25 18:08:19 UTC 2018 by davean

Modules

Downloads

Maintainers' corner

For package maintainers and hackage trustees