Safe Haskell | Safe-Infered |
---|
- printEnv :: Env -> IO String
- copyEnv :: Env -> IO Env
- extendEnv :: Env -> [(Var, ObjectRef)] -> IO Env
- makeLetRecFrame :: Env -> [(String, EgisonExpr)] -> IO FrameRef
- extendLetRec :: Env -> [(String, EgisonExpr)] -> IO Env
- findEnv :: Env -> Var -> IO (Maybe Env)
- isBound :: Env -> Var -> IO Bool
- isRecBound :: Env -> Var -> IO Bool
- getVarFromFrame :: Frame -> Var -> IOThrowsError ObjectRef
- getVar :: Env -> Var -> IOThrowsError ObjectRef
- defineVar :: Env -> Var -> ObjectRef -> IOThrowsError ()
Documentation
Show the contents of an environment
Create a copy of an environment
Extend given environment by binding a series of values to a new environment.
makeLetRecFrame :: Env -> [(String, EgisonExpr)] -> IO FrameRefSource
:: Env | Environment |
-> [(String, EgisonExpr)] | Extensions to the environment |
-> IO Env | Extended environment |
Extend given environment by binding a series of values to a new environment for letrec.
:: Env | Environment to begin the search; parent env's will be searched as well. |
-> Var | Variable |
-> IO (Maybe Env) | Environment, or Nothing if there was no match. |
Recursively search environments to find one that contains the given variable.
Determine if a variable is bound
Determine if a variable is bound or a parent of the given environment.
getVarFromFrame :: Frame -> Var -> IOThrowsError ObjectRefSource
:: Env | Environment |
-> Var | Variable |
-> IOThrowsError ObjectRef | Contents of the variable |
Retrieve the value of a variable defined