[ All 3 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ]
×

Package ghc-random-1.2.0-2.el9.x86_64 download

Name ghc-random
Epoch 0
Version 1.2.0
Release 2.el9
Architecture x86_64
Website/URL https://hackage.haskell.org/package/random
License BSD
Build Time 2023-08-18 20:17:22
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
Size 92 KiB
Source Project ghc-random-1.2.0-2.el9
SHA-256 checksum 76dcdafc8b67c9e3812c22c5d90efb673be0c900b25b5ab09a1cda84ccaedc0c
× Full screenshot
Changelog link
* 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