ghc-random-1.2.1.3-8.fc45
completeDescription
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.runStateGen_' 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.
RPMs
7 files, 3 archessrc
noarch
- ghc-random-doc-1.2.1.3-8.fc45.noarch.rpm 135.38 KB info · download
- ghc-splitmix-doc-0.1.3.2-8.fc45.noarch.rpm 59.60 KB info · download
riscv64
Logs
riscv64
Changelog
* Thu Jul 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.1.3-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild * Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.1.3-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild * Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.1.3-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild * Mon Apr 07 2025 Jens Petersen <petersen@redhat.com> - 1.2.1.3-4 - Rebuild * Tue Mar 25 2025 Jens Petersen <petersen@redhat.com> - 1.2.1.3-3 - https://hackage.haskell.org/package/random-1.2.1.3/changelog * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.1.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild * Sat Jul 20 2024 Jens Petersen <petersen@redhat.com> - 1.2.1.2-7 - https://hackage.haskell.org/package/random-1.2.1.2/changelog * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.1.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild