aboutsummaryrefslogtreecommitdiffstats
path: root/src/bootstrap/environment.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/bootstrap/environment.h')
-rw-r--r--src/bootstrap/environment.h27
1 files changed, 0 insertions, 27 deletions
diff --git a/src/bootstrap/environment.h b/src/bootstrap/environment.h
deleted file mode 100644
index 5ee21ad..0000000
--- a/src/bootstrap/environment.h
+++ /dev/null
@@ -1,27 +0,0 @@
1#ifndef BDL_ENVIRONMENT_H
2#define BDL_ENVIRONMENT_H
3
4#include "objects.h"
5
6typedef struct Environment {
7 struct Environment *parent;
8 HashTable *table;
9 bool marked;
10} Environment;
11
12Environment * env_create(Environment *parent);
13void env_add_symbol(Environment *env, Object *symbol, Object *value);
14Object * env_lookup(Environment *env, Object *symbol);
15Object * env_update(Environment *env, Object *symbol, Object *value);
16ssize_t env_index_current(Environment *env, Object *symbol);
17void env_add_or_update_current(Environment *env, Object *symbol, Object *value);
18Environment * env_extend(Environment *parent, Environment *extra);
19
20#define MAKE_ENV_VAR(ENV,STR,VAR) \
21 (env_add_symbol((ENV), MAKE_SYM(STR), (VAR)))
22#define MAKE_ENV_PROC(ENV,STR,FUN) \
23 (env_add_symbol((ENV), MAKE_SYM(STR), make_procedure(FUN)))
24
25#define ENV_BUF_CAP 8
26
27#endif // BDL_ENVIRONMENT_H