packages feed

wires-0.1.0: README.md

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](https://github.com/esoeylemez/wires/issues).


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:

Module                    | Purpose
--------------------------|-----------------------------------------------
`Control.Wire`            | Application language (basically core + utils).
`Control.Wire.Controller` | Controller language.
`Control.Wire.Core`       | Core application language.
`Control.Wire.Internal`   | You should never need this module.
`Control.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.