чем System.Random из библиотеки random? Просто тут столкнулся с необходимостью запустить код, в котором используется System.Random на голом ghc, и, очевидно, он не запустился.
если не нужна криптоскойкость, то можно в пару строк реализовать https://ru.wikipedia.org/wiki/Линейный_конгруэнтный_метод
или даже в одну строчку > take 10 $ tail $ iterate (\x -> (x * 84_589 + 45_989) `mod` 217_728) 42 [ 115079 , 62368 , 143301 , 163334 , 157747 , 28764 , 53585 , 86050 , 64671 , 85208 ]
Обсуждают сегодня