High performance, concurrent functional programming abstractions
Go to file
2017-09-05 10:58:00 +05:30
benchmark add nil (tiniest possible) task benchmarks 2017-09-01 10:58:55 +05:30
examples update listdir example 2017-08-31 06:32:31 +05:30
src Fix worker dispatch 2017-09-05 10:50:20 +05:30
test Add back the parallel interleaving test 2017-09-05 10:58:00 +05:30
.travis.yml disable cabal build 2017-08-31 07:57:34 +05:30
appveyor.yml Add travis, appveyor ci files 2017-08-30 15:16:14 +05:30
asyncly.cabal Remove the recorder stuff for now 2017-09-04 16:39:39 +05:30
LICENSE Use BSD 3-clause license for the lazy implementation 2017-09-04 15:56:05 +05:30
README.md Update readme with overview 2017-09-04 16:07:46 +05:30
stack.yaml Use Michael-Scott lockfree queue for FIFO policy 2017-09-02 12:48:34 +05:30

Asyncly

Build Status Windows Build status Coverage Status

Asyncly is best described as a superset of list transformer (ListT) or logic programming monad (LogicT) with additional support for concurrent operation. Monadic streams of data can be composed using serial or parallel compositions with or without fair interleaving, enabling a high level composition of concurrent tasks without requiring knowledge of low level concurrency primitives. The programmer just expresses whether a task can run in parallel with another. Threads, synchronization and concurrency rate control is handled automatically.

This library was originally inspired by the transient package authored by Alberto G. Corona.