wires alternatives and similar packages
Based on the "Control" category.
Alternatively, view wires 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) -
classy-prelude
Type classes for mapping, folding, and traversing monomorphic containers -
classy-prelude-yesod
Type classes for mapping, folding, and traversing monomorphic containers -
distributed-closure
Serializable closures for distributed programming. -
extensible-effects
Extensible Effects: An Alternative to Monad Transformers -
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. -
abstract-par
Type classes generalizing the functionality of the 'monad-par' library. -
these
An either-or-both data type, with corresponding hybrid error/writer monad transformer. -
hask
Category theory for Haskell with a lens flavor (you need GHC 7.8.3, not 7.8.2 to build this!) -
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 -
distributed-fork
A distributed data processing framework in Haskell. -
cloud-haskell
This is an umbrella development repository for Cloud Haskell -
monad-validate
(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 -
operational
Implement monads by specifying instructions and their desired operational semantics. -
ixmonad
Provides 'graded monads' and 'parameterised monads' to Haskell, enabling fine-grained reasoning about effects. -
effect-monad
Provides 'graded monads' and 'parameterised monads' to Haskell, enabling fine-grained reasoning about effects. -
monad-control
Lift control operations, like exception catching, through monad transformers -
freer-effects
An implementation of "Freer Monads, More Extensible Effects". -
monad-time
Type class for monads which carry the notion of the current time.
Collect and Analyze Billions of Data Points in Real Time
Do you think we are missing an alternative of wires or a related project?
README
Wires
This is a functional reactive programming library for interactive applications with the following features:
heavy focus on real-time applications like games and simulations,
very small core abstraction,
efficient in both time and space.
Until a proper tutorial has been written, please check out the examples directory. If you have questions, join #haskell-game on irc.freenode.net. If you would like to report a bug or request a feature, please file an issue.
Module overview
The library is split into two roles: applications and controllers. An application developer models interactions and implements reactive systems, i.e. the application logic. A controller developer implements the glue between the application and the real world, i.e. how events and time-varying values map to actual things on the screen or in the network. The module structure reflects that distinction:
Control.Wire
: Application language (basically core + utils)Control.Wire.Controller
: Controller languageControl.Wire.Core
: Core application languageControl.Wire.Internal
: You should never need this moduleControl.Wire.Utils
: Extra application utilities
Modules not listed here are highly experimental and should not be used.
If you are asking yourself whether you are an application or a controller developer: at this early stage of development you are probably both, which means that you will write the application as well as connect its inputs and outputs to the real world.