diff options
Diffstat (limited to 'src/bootstrap/main.c')
-rwxr-xr-x | src/bootstrap/main.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/bootstrap/main.c b/src/bootstrap/main.c index bf2354b..2d24f92 100755 --- a/src/bootstrap/main.c +++ b/src/bootstrap/main.c | |||
@@ -37,11 +37,13 @@ init(void) { | |||
37 | obj_false = alloc_object(OBJ_TYPE_BOOL); | 37 | obj_false = alloc_object(OBJ_TYPE_BOOL); |
38 | obj_err = alloc_object(OBJ_TYPE_ERR); | 38 | obj_err = alloc_object(OBJ_TYPE_ERR); |
39 | obj_quote = make_symbol((StringView){"quote", 5}); | 39 | obj_quote = make_symbol((StringView){"quote", 5}); |
40 | proc_if = alloc_object(OBJ_TYPE_ERR); | ||
40 | push_root(obj_nil); | 41 | push_root(obj_nil); |
41 | push_root(obj_true); | 42 | push_root(obj_true); |
42 | push_root(obj_false); | 43 | push_root(obj_false); |
43 | push_root(obj_err); | 44 | push_root(obj_err); |
44 | push_root(obj_quote); | 45 | push_root(obj_quote); |
46 | push_root(proc_if); | ||
45 | 47 | ||
46 | // Global environment. | 48 | // Global environment. |
47 | global_env = env_create(NULL); | 49 | global_env = env_create(NULL); |
@@ -52,6 +54,7 @@ init(void) { | |||
52 | // Primitive symbols. | 54 | // Primitive symbols. |
53 | MAKE_ENV_VAR(global_env, "else", obj_true); | 55 | MAKE_ENV_VAR(global_env, "else", obj_true); |
54 | MAKE_ENV_VAR(global_env, "nil", obj_nil); | 56 | MAKE_ENV_VAR(global_env, "nil", obj_nil); |
57 | MAKE_ENV_VAR(global_env, "if", proc_if); | ||
55 | 58 | ||
56 | // Primitive procedures. | 59 | // Primitive procedures. |
57 | MAKE_ENV_PROC(global_env, "eval", proc_eval); | 60 | MAKE_ENV_PROC(global_env, "eval", proc_eval); |
@@ -79,7 +82,6 @@ init(void) { | |||
79 | MAKE_ENV_PROC(global_env, "not", proc_not); | 82 | MAKE_ENV_PROC(global_env, "not", proc_not); |
80 | MAKE_ENV_PROC(global_env, "and", proc_and); | 83 | MAKE_ENV_PROC(global_env, "and", proc_and); |
81 | MAKE_ENV_PROC(global_env, "or", proc_or); | 84 | MAKE_ENV_PROC(global_env, "or", proc_or); |
82 | MAKE_ENV_PROC(global_env, "if", proc_if); | ||
83 | MAKE_ENV_PROC(global_env, "cond", proc_cond); | 85 | MAKE_ENV_PROC(global_env, "cond", proc_cond); |
84 | MAKE_ENV_PROC(global_env, "<", proc_num_less_than); | 86 | MAKE_ENV_PROC(global_env, "<", proc_num_less_than); |
85 | MAKE_ENV_PROC(global_env, "<=", proc_num_lesseq_than); | 87 | MAKE_ENV_PROC(global_env, "<=", proc_num_lesseq_than); |