The new random with Leonhard Markert and Dominic Steinitz

Haskell's random library has provided an interface to pseudo-random number generation for non-cryptographic applications since the Haskell 98 report. Over the last years there hasn't been much development activity on the library despite well-known quality and performance problems. Alexey Kuleshevich's blog post comparing the performance of pseudo-random number generator packages showed that even when used with a fast pseudo-random number generator, the interface provided by random slowed down the generation of random values significantly. So a little group consisting of Alexey Kuleshevich, Alexey Khudyakov as well as the two guests of this episode got together to improve the random library both in terms of quality and performance. This work culminated in the release of version 1.2.0 of the random library in late June. In this episode, we talk about the work that went into this release, and some of the things we discovered along the way. Music by Kris Jenkins.Special Guests: Dominic Steinitz and Leonhard Markert.Links:"random" in The Haskell 98 Library Report — The description of Haskell's random library as it was used for a long time.Benchmarks of "random" — The benchmarks in this blog post were one reason to consider moving to a new standard pseudo-random number generator in Haskell random.blog post on Tweag I/O — This article goes step by step through the motivation and technical details of the changes that are discussed in this podcast episode.the new version of "random" on hackage

Om Podcasten

Hear all about functional programming in practice. We invite people working on hard industry problems to tell us how they are solving them, the tools they use, and what gets them up in the morning. Expect deep dives into Haskell, Nix, Rust, build systems, data engineering, AI, and more. We make it back to the surface too sometimes, to chat about engineering culture and the challenges of leadership in distributed teams.