rhine 0.7.0 → 0.7.1
raw patch · 6 files changed
+24/−5 lines, 6 filesdep ~base
Dependency ranges changed: base
Files
- ChangeLog.md +5/−0
- rhine.cabal +3/−3
- src/FRP/Rhine/ClSF/Random.hs +1/−1
- src/FRP/Rhine/Clock/FixedStep.hs +1/−1
- src/FRP/Rhine/Clock/Realtime/Millisecond.hs +11/−0
- src/FRP/Rhine/Type.hs +3/−0
ChangeLog.md view
@@ -4,6 +4,11 @@ Since `rhine` reexports modules from `dunai`, every major version in `dunai` triggers a major version in `rhine`. +## 0.7.1++* Documentation improvements+* Support for GHC 9.0.2+ ## 0.7.0 * Replaced old reactimation mechanism by clock erasure
rhine.cabal view
@@ -1,6 +1,6 @@ name: rhine -version: 0.7.0+version: 0.7.1 synopsis: Functional Reactive Programming with type-level clocks @@ -46,7 +46,7 @@ source-repository this type: git location: git@github.com:turion/rhine.git- tag: v0.7.0+ tag: v0.7.1 library@@ -100,7 +100,7 @@ -- other-extensions: -- Other library packages from which modules are imported.- build-depends: base >= 4.9 && < 5+ build-depends: base >= 4.11 && < 4.16 , dunai >= 0.6 , transformers >= 0.5 , time >= 1.8
src/FRP/Rhine/ClSF/Random.hs view
@@ -94,4 +94,4 @@ :: (MonadRandom m, Random a) => (a, a) -> Behaviour m time a-getRandomRS_ = constMCl . getRandomR+getRandomRS_ range = constMCl $ getRandomR range
src/FRP/Rhine/Clock/FixedStep.hs view
@@ -18,7 +18,7 @@ import Data.Maybe (fromMaybe) import GHC.TypeLits --- fixed-vector+-- vector-sized import Data.Vector.Sized (Vector, fromList) -- dunai
src/FRP/Rhine/Clock/Realtime/Millisecond.hs view
@@ -53,6 +53,17 @@ -- and waits for the remaining time until the next tick. -- If the next tick should already have occurred, -- the tag is set to 'False', representing a failed real time attempt.++-- Note that this clock internally uses 'threadDelay' which can block+-- for quite a lot longer than the requested time, which can cause+-- the clock to miss one or more ticks when using low values of 'n'. +-- When using 'threadDelay', the difference between the real wait time +-- and the requested wait time will be larger when using +-- the '-threaded' ghc option (around 800 microseconds) than when not using+-- this option (around 100 microseconds). For low values of @n@ it is recommended+-- that '-threaded' not be used in order to miss less ticks. The clock will adjust +-- the wait time, up to no wait time at all, to catch up when a tick is missed.+ waitClock :: KnownNat n => Millisecond n waitClock = Millisecond $ RescaledClockS FixedStep $ \_ -> do initTime <- getCurrentTime
src/FRP/Rhine/Type.hs view
@@ -41,6 +41,9 @@ {- | Start the clock and the signal network, effectively hiding the clock type from the outside.++Since the caller will not know when the clock @'In' cl@ ticks,+the input 'a' has to be given at all times, even those when it doesn't tick. -} eraseClock :: (Monad m, Clock m cl, GetClockProxy cl)