husk-scheme-2.4: R5RS Scheme interpreter program and library.

Language.Scheme.Variables

Synopsis

Documentation

extendEnv :: Env -> [((String, String), LispVal)] -> IO EnvSource

Extend given environment by binding a series of values to a new environment.

isBound :: Env -> String -> IO BoolSource

Determine if a variable is bound in the default namespace

isNamespacedBound :: Env -> String -> String -> IO BoolSource

Determine if a variable is bound in a given namespace

getVar :: Env -> String -> IOThrowsError LispValSource

Retrieve the value of a variable defined in the default namespace

getNamespacedVar :: Env -> String -> String -> IOThrowsError LispValSource

Retrieve the value of a variable defined in a given namespace

defineVar :: Env -> String -> LispVal -> IOThrowsError LispValSource

Set a variable in the default namespace

setVar :: Env -> String -> LispVal -> IOThrowsError LispValSource

Bind a variable in the default namespace

setNamespacedVar :: Env -> String -> String -> LispVal -> IOThrowsError LispValSource

Set a variable in a given namespace

defineNamespacedVar :: Env -> String -> String -> LispVal -> IOThrowsError LispValSource

Bind a variable in the given namespace