The rhine package

[ Tags: bsd3, frp, library, program ] [ Propose Tags ]

Rhine is a library for synchronous and asynchronous Functional Reactive Programming (FRP). It separates the aspects of clocking, scheduling and resampling from each other, and ensures clock-safety on the type level. Signal processing units can be annotated by clocks, which hold the information when data will be input, processed and output. Different components of the signal network will become active at different times, or work at different rates. To schedule the components and allow them to communicate, several standard scheduling and resampling solutions are implemented. Own schedules and resampling buffers can be implemented in a reusable fashion. A (synchronous) program outputting "Hello World!" every tenth of a second looks like this: flow $ arrMSync_ (putStrLn "Hello World!") (waitClock :: Millisecond 100)

[Skip to Readme]


Change log
Dependencies base (>=4.7 && <5), containers (==0.5.*), dunai (==0.4.0.*), free (==4.12.*), rhine, time (==1.6.*), transformers (>=0.4 && <0.6) [details]
License BSD3
Author Manuel Bärenz
Category FRP
Source repo head: git clone
this: git clone v0.4.0.0)
Uploaded Mon Dec 4 15:34:01 UTC 2017 by turion
Distributions NixOS:
Executables Demonstration, HelloWorld
Downloads 1009 total (34 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-12-04 [all 1 reports]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

Readme for rhine-

[back to package description]


This is the main library.