module HsBot.Env where import HsBot.Conf import HsBot.State type Dispatch = String -> (String -> IO ()) -> Env -> IO Env data Env = DispatchEnv State Conf Dispatch | Env State Conf castEnv :: Env -> Env castEnv (DispatchEnv state conf _) = Env state conf envGetInt :: String -> Env -> Int envGetInt key (Env _ conf) = getUnwrappedInt key conf envGetInt key env = envGetInt key (castEnv env) envGet :: String -> Env -> String envGet key (Env _ conf) = getUnwrapped key conf envGet key env = envGet key (castEnv env)