module Haskell.Env.Context where import Haskell.Env import Haskell.Env.Cmd data Context = Context { cStack :: [(Action, Env)], cBaseEnv :: Env } deriving (Show) topEnv :: Context -> Env topEnv (Context [] env) = env topEnv (Context ((_, env):_) _) = env pushCtx :: (Action, Env) -> Context -> Context pushCtx pair ctx = ctx { cStack = pair : cStack ctx }