module Terminal.Game.Random ( R.StdGen,
                              Random,
                              R.getStdGen,
                              R.mkStdGen,
                              getRandom,
                              getRandomList )
            where

import System.Random as R


-- getRandom :: (Ord a, Show a) => (a, a) -> StdGen -> (a, StdGen)
-- getRandom bs@(l, h) sg
--         | l > h     = error $ "getRandom: lowBound > highBoud, " ++ show bs
--         | otherwise = randomR _ _

-- | Simple pseudo-random generator.
getRandom :: Random a => (a, a) -> StdGen -> (a, StdGen)
getRandom bs sg = randomR bs sg

-- | Returns an infinite list of random values.
getRandomList :: Random a => (a, a) -> StdGen -> [a]
getRandomList bs sg = randomRs bs sg