Project ghc-random-1.2.0-2.el9
Name | ghc-random |
---|---|
Epoch | 0 |
Version | 1.2.0 |
Release | 2.el9 |
Website/URL | https://hackage.haskell.org/package/random |
License | BSD |
Build Time | 2023-08-18 20:16:26 |
Build Host | builder-x86-01.inferitos.ru |
Summary | Pseudo-random number generation |
Repositories | Extras |
Description | This package provides basic pseudo-random number generation, including the ability to split random number generators. == "System.Random": pure pseudo-random number interface In pure code, use 'System.Random.uniform' and 'System.Random.uniformR' from "System.Random" to generate pseudo-random numbers with a pure pseudo-random number generator like 'System.Random.StdGen'. As an example, here is how you can simulate rolls of a six-sided die using 'System.Random.uniformR': >>> let roll = uniformR (1, 6) :: RandomGen g => g -> (Word, g) >>> let rolls = unfoldr (Just . roll) :: RandomGen g => g -> [Word] >>> let pureGen = mkStdGen 42 >>> take 10 (rolls pureGen) :: [Word] [1,1,3,2,4,5,3,4,6,2] See "System.Random" for more details. == "System.Random.Stateful": monadic pseudo-random number interface In monadic code, use 'System.Random.Stateful.uniformM' and 'System.Random.Stateful.uniformRM' from "System.Random.Stateful" to generate pseudo-random numbers with a monadic pseudo-random number generator, or using a monadic adapter. As an example, here is how you can simulate rolls of a six-sided die using 'System.Random.Stateful.uniformRM': >>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word >>> let pureGen = mkStdGen 42 >>> runStateGen_ pureGen (replicateM 10 . rollM) :: [Word] [1,1,3,2,4,5,3,4,6,2] The monadic adapter 'System.Random.Stateful.runGenState_' is used here to lift the pure pseudo-random number generator 'pureGen' into the 'System.Random.Stateful.StatefulGen' context. The monadic interface can also be used with existing monadic pseudo-random number generators. In this example, we use the one provided in the <https://hackage.haskell.org/package/mwc-random mwc-random> package: >>> import System.Random.MWC as MWC >>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word >>> monadicGen <- MWC.create >>> replicateM 10 (rollM monadicGen) :: IO [Word] [2,3,6,6,4,4,3,1,5,4] See "System.Random.Stateful" for more details. |
Errata | — |
×
Package | Summary | SHA-256 checksum |
---|---|---|
x86_64 | ||
ghc-random-1.2.0-2.el9.x86_64 | Pseudo-random number generation | 76dcdafc8b67c9e3812c22c5d90efb673be0c900b25b5ab09a1cda84ccaedc0c |
ghc-random-devel-1.2.0-2.el9.x86_64 | Haskell random library development files | d62062976928b263c003c9b1d00634cc624289cd68b12593a0aa6c71bc0a8706 |
ghc-random-prof-1.2.0-2.el9.x86_64 | Haskell random profiling library | e3f7ac02d4253f4b7932c953da26c9e0c2e756c37d620eb2e94361f9e87db4e3 |
ghc-splitmix-0.1.0.3-2.el9.x86_64 | Haskell splitmix library | 5060615dfdd791c3735270f82513e2226de28f2b4fae5983e19f5dfe7c8f9ac5 |
ghc-splitmix-devel-0.1.0.3-2.el9.x86_64 | Haskell splitmix library development files | df81e2c38b726ecf5d42d2c130ead09cabffb62dadfba430e3ee2783afe14b30 |
ghc-splitmix-prof-0.1.0.3-2.el9.x86_64 | Haskell splitmix profiling library | 3d6a7d374e6bcd8574230ce3249c4cad5c191ab497c61db438e71e9643f7563b |
aarch64 | ||
ghc-random-1.2.0-2.el9.aarch64 | Pseudo-random number generation | 37b773376d967e5b55bab1edc0c02b88a43ac07543c2bc5569366bd1ea28e9a7 |
ghc-random-devel-1.2.0-2.el9.aarch64 | Haskell random library development files | b87696908a25e98890a17f06b216e0ef7aae687621188fba55d81a1cde7d2960 |
ghc-random-prof-1.2.0-2.el9.aarch64 | Haskell random profiling library | 9989c327f433c1f2e778661668c4e00d4cfbf58037d7d5615d9476c5a1269703 |
ghc-splitmix-0.1.0.3-2.el9.aarch64 | Haskell splitmix library | a3bebc2591930935a31007864b37301d4daf02907e1d17e074e292bb7cf07621 |
ghc-splitmix-devel-0.1.0.3-2.el9.aarch64 | Haskell splitmix library development files | 1a64df092a5cf79412040ac707f7614e121e5f3c4bee96613126c68a0245727f |
ghc-splitmix-prof-0.1.0.3-2.el9.aarch64 | Haskell splitmix profiling library | f6e891726d1e026a3651ac1e5a26d2810de4261f80dd2d58a5799be8ac5245fc |
noarch | ||
ghc-random-doc-1.2.0-2.el9.noarch | Haskell random library documentation | 11e5b62e887e1b8ef6f58f7af55aa11f0a71482d607bf2d73e2f0e5b7e973f01 |
ghc-splitmix-doc-0.1.0.3-2.el9.noarch | Haskell splitmix library documentation | d94f57a7f11fd16f82b6387d6e155f8a16f468e109a6c36e0a7b12f8a3d1d8bc |
src | ||
ghc-random-1.2.0-2.el9.src | Pseudo-random number generation | b51ce25204d4c120257e746f6ba99764d549e6ea17b3c6462a78439241147796 |
* Fri Aug 18 2023 Alexey Lyubimov <a.lyubimov@msvsphere.ru> - 1.2.0-2 - Rebuilt for MSVSphere 9.2 * Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild