{-# LANGUAGE BangPatterns #-}

module Merchandise.Merchandise
    ( runGame
    ) where

import           Data.IORef

import           System.Random

import qualified Merchandise.Types.Event as E
import qualified Merchandise.Types.Game  as G

-- | whatever arguments main needs to aquire
type Params = [String]

runGame :: Params -> IO ()
runGame _ =
  do
    -- aquire randomness
    g    <- newStdGen
    -- infR is a lazy infinite list of Ints between 0 and 100000. Using this, we
    -- can pass an Int at a time into our pure stuff, letting us use randomness
    -- in the functionally pure Event processing by `mod`ing each Int into
    -- whatever range makes sense in the context.
    infR <- return $ randomRs (0, 100000 :: Int) g

    print "placeholder"
