{"@context":"https://w3id.org/codemeta/3.0","@type":"SoftwareSourceCode","identifier":"pkg:hackage/rhine","name":"rhine","description":"Rhine is a library for synchronous and asynchronous Functional Reactive Programming (FRP).\nIt separates the aspects of clocking, scheduling and resampling\nfrom each other, and ensures clock-safety on the type level.\nSignal processing units can be annotated by clocks,\nwhich hold the information when data will be\ninput, processed and output.\nDifferent components of the signal network\nwill become active at different times, or work\nat different rates.\nTo schedule the components and allow them to communicate,\nseveral standard scheduling and resampling solutions are implemented.\nOwn schedules and resampling buffers can be implemented in a reusable fashion.\nA (synchronous) program outputting \"Hello World!\" every tenth of a second looks like this:\nflow $ constMCl (putStrLn \"Hello World!\") @@ (waitClock :: Millisecond 100)","version":"1.8","softwareVersion":"1.8","license":"https://spdx.org/licenses/BSD-3-Clause","codeRepository":"https://github.com/turion/rhine","issueTracker":"https://github.com/turion/rhine/issues","keywords":["bsd3","frp","library","Propose Tags"],"programmingLanguage":{"@type":"ComputerLanguage","name":"Haskell"},"maintainer":[{"@type":"Person","name":"turion"}],"author":[{"@type":"Person","name":"turion"}],"copyrightHolder":[{"@type":"Person","name":"turion"}],"dateCreated":"2017-10-16","dateModified":"2026-06-07","datePublished":"2026-06-07","copyrightYear":2017,"downloadUrl":"https://hackage.haskell.org/package/rhine-1.8/rhine-1.8.tar.gz","applicationCategory":"hackage","runtimePlatform":"hackage","developmentStatus":"active","sameAs":["https://hackage.haskell.org/package/rhine"],"https://www.w3.org/ns/activitystreams#likes":145,"https://forgefed.org/ns#forks":26}