Liste von Zufallszahlen aus gegebenem Bereich:
import System.Random ; import Control.Monad zufs :: Int -> (Int,Int) -> IO [Int] zufs n (lo,hi) = forM [ 1 .. n ] $ \ k -> randomRIO (lo,hi)eine zufällige Permutation:
perm :: [a] -> IO [a] perm xs = if null xs then return [] else do i <- randomRIO (0, length xs - 1) let ( pre, this : post ) = splitAt i xs ys <- perm $ pre ++ post return $ this : ys