tubes alternatives and similar packages
Based on the "Control" category.
Alternatively, view tubes alternatives based on common mentions on social networks and blogs.
-
transient
A full stack, reactive architecture for general purpose programming. Algebraic and monadically composable primitives for concurrency, parallelism, event handling, transactions, multithreading, Web, and distributed computing with complete de-inversion of control (No callbacks, no blocking, pure state) -
selective
Selective Applicative Functors: Declare Your Effects Statically, Select Which to Execute Dynamically -
auto
Haskell DSL and platform providing denotational, compositional api for discrete-step, locally stateful, interactive programs, games & automations. http://hackage.haskell.org/package/auto -
ComonadSheet
A library for expressing "spreadsheet-like" computations with absolute and relative references, using fixed-points of n-dimensional comonads. -
transient-universe
A Cloud monad based on transient for the creation of Web and reactive distributed applications that are fully composable, where Web browsers are first class nodes in the cloud -
monad-validate
DISCONTINUED. (NOTE: REPOSITORY MOVED TO NEW OWNER: https://github.com/lexi-lambda/monad-validate) A Haskell monad transformer library for data validation -
distributed-process-platform
DEPRECATED (Cloud Haskell Platform) in favor of distributed-process-extras, distributed-process-async, distributed-process-client-server, distributed-process-registry, distributed-process-supervisor, distributed-process-task and distributed-process-execution -
effect-monad
Provides 'graded monads' and 'parameterised monads' to Haskell, enabling fine-grained reasoning about effects. -
ixmonad
Provides 'graded monads' and 'parameterised monads' to Haskell, enabling fine-grained reasoning about effects.
InfluxDB - Purpose built for real-time analytics at any scale.
Do you think we are missing an alternative of tubes or a related project?
README
Tubes
Write stream processing computations with monadic side effects and compose them in a series of tubes.
This is similar to the pipes and conduit libraries in purpose but its implementation is very different. A tube is either a
Source m a
, yielding values of typea
;Sink m a
, awaiting values of typea
; orChannel m a b
, transforminga
values intob
values.
These are all aliases for the same fundamental type: Tube a b m ()
. However
the different variations are all instances of different classes which endow
them with useful capabilities.
The opposite of a tube, the Pump
, is also provided in this package. While it
has not been explored as thoroughly as the Tube
, Pump
is used internally to
run tube computations and fold over streams.
Thorough documentation, examples, and more information are available at http://hackage.haskell.org/package/tubes
(c) 2014 - 2016 Gatlin Johnson [email protected]
Licensing
See LICENSE
.
Questions? Comments? Bugs?
Use the Issues feature of GitHub to send me bugs. For all other inquiries, please send mail to [email protected] with "Tubes" somewhere in the subject line.
Some terms and ideas were stolen from Gabriel Gonzalez, author of the pipes library.
*Note that all licence references and agreements mentioned in the tubes README section above
are relevant to that project's source code only.