Yampa 0.13.1 → 0.13.2
raw patch · 6 files changed
+68/−10 lines, 6 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- FRP.Yampa: randomIO :: Random a => IO a
- FRP.Yampa: randomRIO :: Random a => (a, a) -> IO a
- FRP.Yampa.Random: randomIO :: Random a => IO a
- FRP.Yampa.Random: randomRIO :: Random a => (a, a) -> IO a
+ FRP.Yampa: genShortByteString :: RandomGen g => Int -> g -> (ShortByteString, g)
+ FRP.Yampa: genWord16 :: RandomGen g => g -> (Word16, g)
+ FRP.Yampa: genWord32 :: RandomGen g => g -> (Word32, g)
+ FRP.Yampa: genWord32R :: RandomGen g => Word32 -> g -> (Word32, g)
+ FRP.Yampa: genWord64 :: RandomGen g => g -> (Word64, g)
+ FRP.Yampa: genWord64R :: RandomGen g => Word64 -> g -> (Word64, g)
+ FRP.Yampa: genWord8 :: RandomGen g => g -> (Word8, g)
+ FRP.Yampa.Random: genShortByteString :: RandomGen g => Int -> g -> (ShortByteString, g)
+ FRP.Yampa.Random: genWord16 :: RandomGen g => g -> (Word16, g)
+ FRP.Yampa.Random: genWord32 :: RandomGen g => g -> (Word32, g)
+ FRP.Yampa.Random: genWord32R :: RandomGen g => Word32 -> g -> (Word32, g)
+ FRP.Yampa.Random: genWord64 :: RandomGen g => g -> (Word64, g)
+ FRP.Yampa.Random: genWord64R :: RandomGen g => Word64 -> g -> (Word64, g)
+ FRP.Yampa.Random: genWord8 :: RandomGen g => g -> (Word8, g)
Files
- CHANGELOG +13/−0
- Yampa.cabal +29/−2
- src/FRP/Yampa.hs +12/−3
- src/FRP/Yampa/Integration.hs +7/−0
- src/FRP/Yampa/Task.hs +6/−3
- tests/HaddockCoverage.hs +1/−2
CHANGELOG view
@@ -1,3 +1,16 @@+2021-09-15 Ivan Perez <ivan.perez@haskell.sexy>+ * Yampa.cabal: Version bump (0.13.2), change cabal-version, add+ default language (#180).+ * src/: Update links (#179).+ * README.md: Update installation instructions (#177), links (#178),+ pointers to other projects (#162, #160, #153)+ * .travis.yml: Enable testing haddock documentation (#72).+ * tests/: Avoid modules whose documentation haddock does not generated+ even if present (#72).+ * src/: Minor adaptations to imports to make tests work (#72),+ minor haddock documentation fixes (#175),+ complete missing haddock documentation (#72).+ 2019-10-15 Ivan Perez <ivan.perez@keera.co.uk> * Yampa.cabal: Version bump (0.13.1), introduce examples as executables, depend on fail if needed.
Yampa.cabal view
@@ -1,6 +1,6 @@ name: Yampa-version: 0.13.1-cabal-version: >= 1.8+version: 0.13.2+cabal-version: >= 1.10 license: BSD3 license-file: LICENSE author: Henrik Nilsson, Antony Courtney@@ -92,6 +92,9 @@ FRP.Yampa.Diagnostics FRP.Yampa.InternalCore + default-language:+ Haskell2010+ test-suite hlint type: exitcode-stdio-1.0 main-is: hlint.hs@@ -103,6 +106,9 @@ base, hlint >= 1.7 + default-language:+ Haskell2010+ -- Verify that the code is thoroughly documented test-suite haddock-coverage type: exitcode-stdio-1.0@@ -120,6 +126,9 @@ process, regex-posix + default-language:+ Haskell2010+ test-suite regression type: exitcode-stdio-1.0 main-is: testAFRPMain.hs@@ -131,6 +140,9 @@ base, Yampa + default-language:+ Haskell2010+ executable yampa-examples-sdl-bouncingbox main-is: MainBouncingBox.hs other-modules: YampaSDL@@ -142,6 +154,9 @@ else buildable: False + default-language:+ Haskell2010+ executable yampa-examples-sdl-circlingmouse main-is: MainCircleMouse.hs other-modules: YampaSDL@@ -153,6 +168,9 @@ else buildable: False + default-language:+ Haskell2010+ executable yampa-examples-sdl-wiimote main-is: MainWiimote.hs other-modules: YampaSDL@@ -164,6 +182,9 @@ else buildable: False + default-language:+ Haskell2010+ executable yampa-examples-elevator main-is: TestElevatorMain.hs other-modules: Elevator@@ -175,6 +196,9 @@ else buildable: False + default-language:+ Haskell2010+ executable yampa-examples-tailgatingdetector main-is: TestTGMain.hs other-modules: TailgatingDetector@@ -185,6 +209,9 @@ build-depends: base < 5, Yampa else buildable: False++ default-language:+ Haskell2010 source-repository head type: git
src/FRP/Yampa.hs view
@@ -28,7 +28,7 @@ -- -- <https://github.com/ivanperez-keera/Yampa> ----- <https://github.com/ivanperez-keera/Yampa/tree/master/examples>+-- <https://github.com/ivanperez-keera/Yampa/tree/develop/yampa/examples> -- -- <https://wiki.haskell.org/Yampa> --@@ -56,7 +56,7 @@ -- -- * How to transform the input signal into the output signal. This requires -- thinking about the transformation applied as time progresses towards the--- future, possinly switching from one transformation to another as the program+-- future, possibly switching from one transformation to another as the program -- evolves. -- -- The first two aspects lie outside Yampa, and they determine the backends@@ -86,7 +86,7 @@ -- For a simple example of an SDL application that creates a moving picture -- around the mouse position, see: ----- https://github.com/ivanperez-keera/Yampa/blob/develop/examples/yampa-game/MainCircleMouse.hs+-- https://github.com/ivanperez-keera/Yampa/blob/develop/yampa/examples/yampa-game/MainCircleMouse.hs -- -- /Hybrid systems/ --@@ -97,6 +97,15 @@ -- allows you to manipulate events, the module "FRP.Yampa.EventS" deals with -- event signal functions, and the "FRP.Yampa.Hybrid" allows you to go from a -- continuous-time domain to a discrete domain, and vice-versa.+--+-- /Vector Spaces/+--+-- Yampa uses vector spaces in time-aware primitives like 'integral'. However,+-- Yampa does not enforce the use of a particular vector space implementation,+-- meaning you could use 'integral' for example with other vector types like+-- V2, V1, etc. from the library linear. For an example, see+-- <https://gist.github.com/walseb/1e0a0ca98aaa9469ab5da04e24f482c2 this gist>.+-- -- -- __Library Overview__ --
src/FRP/Yampa/Integration.hs view
@@ -18,6 +18,13 @@ -- -- The combinator 'iterFrom' gives enough flexibility to program your own -- leak-free integration and derivation SFs.+--+-- Many primitives and combinators in this module require instances of+-- simple-affine-spaces's 'VectorSpace'. Yampa does not enforce the use of a+-- particular vector space implementation, meaning you could use 'integral' for+-- example with other vector types like V2, V1, etc. from the library linear.+-- For an example, see+-- <https://gist.github.com/walseb/1e0a0ca98aaa9469ab5da04e24f482c2 this gist>. ----------------------------------------------------------------------------------------- module FRP.Yampa.Integration (
src/FRP/Yampa/Task.hs view
@@ -30,9 +30,12 @@ import Control.Applicative (Applicative(..)) #endif -import FRP.Yampa-import FRP.Yampa.EventS (snap)-import FRP.Yampa.Diagnostics+import FRP.Yampa.Basic (constant)+import FRP.Yampa.Diagnostics (intErr, usrErr)+import FRP.Yampa.Event (Event, lMerge)+import FRP.Yampa.EventS (after, edgeBy, never, snap)+import FRP.Yampa.InternalCore (SF, Time, arr, first, (&&&), (>>>))+import FRP.Yampa.Switches (switch) infixl 0 `timeOut`, `abortWhen`
tests/HaddockCoverage.hs view
@@ -79,8 +79,7 @@ isHaskellFile fp = (isSuffixOf ".hs" fp || isSuffixOf ".lhs" fp) && not (any (`isSuffixOf` fp) excludedFiles) - excludedFiles = [ "Vector2.hs", "Vector3.hs"- , "Point2.hs", "Point3.hs" ]+ excludedFiles = [ "Yampa.hs", "Random.hs" ] getFilesAndDirectories :: FilePath -> IO ([FilePath], [FilePath]) getFilesAndDirectories dir = do