name: rhine version: 0.4.0.2 synopsis: Functional Reactive Programming with type-level clocks description: 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)@ license: BSD3 license-file: LICENSE author: Manuel Bärenz maintainer: maths@manuelbaerenz.de category: FRP build-type: Simple extra-doc-files: README.md cabal-version: >=1.18 source-repository head type: git location: git@github.com:turion/rhine.git source-repository this type: git location: git@github.com:turion/rhine.git tag: v0.4.0.2 library exposed-modules: Control.Monad.Schedule FRP.Rhine FRP.Rhine.Clock FRP.Rhine.Clock.Count FRP.Rhine.Clock.FixedRate FRP.Rhine.Clock.Realtime.Audio FRP.Rhine.Clock.Realtime.Busy FRP.Rhine.Clock.Realtime.Millisecond FRP.Rhine.Clock.Realtime.Stdin FRP.Rhine.Clock.Select FRP.Rhine.Clock.Step FRP.Rhine.Reactimation FRP.Rhine.Reactimation.Tick FRP.Rhine.ResamplingBuffer FRP.Rhine.ResamplingBuffer.Collect FRP.Rhine.ResamplingBuffer.FIFO FRP.Rhine.ResamplingBuffer.Interpolation FRP.Rhine.ResamplingBuffer.KeepLast FRP.Rhine.ResamplingBuffer.MSF FRP.Rhine.ResamplingBuffer.Timeless FRP.Rhine.ResamplingBuffer.Util FRP.Rhine.Schedule FRP.Rhine.Schedule.Concurrently FRP.Rhine.Schedule.Trans FRP.Rhine.SF FRP.Rhine.SF.Combinators FRP.Rhine.SyncSF FRP.Rhine.SyncSF.Except FRP.Rhine.TimeDomain other-modules: FRP.Rhine.SyncSF.Except.Util -- LANGUAGE extensions used by modules in this package. -- other-extensions: -- Other library packages from which modules are imported. build-depends: base >= 4.9 , dunai == 0.4.0.* , transformers >= 0.4 && < 0.6 , time == 1.9.* , free == 5.1.* , containers >= 0.5 && < 0.6 -- Directories containing source files. hs-source-dirs: src ghc-options: -Wall -- Base language which the package is written in. default-language: Haskell2010 executable HelloWorld hs-source-dirs: examples main-is: HelloWorld.hs ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N build-depends: base >= 4.7 && <5 , rhine default-language: Haskell2010 executable Demonstration hs-source-dirs: examples main-is: Demonstration.hs ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N build-depends: base >= 4.7 && <5 , rhine default-language: Haskell2010