aboutsummaryrefslogtreecommitdiffstats
path: root/src/bootstrap/main.c
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2021-10-10 12:11:45 +0200
committerBad Diode <bd@badd10de.dev>2021-10-10 12:11:45 +0200
commit4673fde605090320fbab227e56bb085eec97362a (patch)
tree5d510484d5543b4b11fd62b42a4b1e14672ff2cd /src/bootstrap/main.c
parentc2bfb5368e603d686190fdc9f3ddbafbda075a9c (diff)
downloadbdl-4673fde605090320fbab227e56bb085eec97362a.tar.gz
bdl-4673fde605090320fbab227e56bb085eec97362a.zip
Add boolean primitives and more (better) tests
Diffstat (limited to 'src/bootstrap/main.c')
-rwxr-xr-xsrc/bootstrap/main.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/bootstrap/main.c b/src/bootstrap/main.c
index 95b2e49..a8ba7bc 100755
--- a/src/bootstrap/main.c
+++ b/src/bootstrap/main.c
@@ -37,8 +37,11 @@ init(void) {
37 environment[env_n++] = (EnvSymbol){MAKE_SYM("*"), make_procedure(proc_mul)}; 37 environment[env_n++] = (EnvSymbol){MAKE_SYM("*"), make_procedure(proc_mul)};
38 environment[env_n++] = (EnvSymbol){MAKE_SYM("/"), make_procedure(proc_div)}; 38 environment[env_n++] = (EnvSymbol){MAKE_SYM("/"), make_procedure(proc_div)};
39 environment[env_n++] = (EnvSymbol){MAKE_SYM("boolean?"), make_procedure(proc_is_boolean)}; 39 environment[env_n++] = (EnvSymbol){MAKE_SYM("boolean?"), make_procedure(proc_is_boolean)};
40 environment[env_n++] = (EnvSymbol){MAKE_SYM("false?"), make_procedure(proc_is_false)}; 40 environment[env_n++] = (EnvSymbol){MAKE_SYM("not"), make_procedure(proc_not)};
41 environment[env_n++] = (EnvSymbol){MAKE_SYM("and"), make_procedure(proc_and)};
42 environment[env_n++] = (EnvSymbol){MAKE_SYM("or"), make_procedure(proc_or)};
41 environment[env_n++] = (EnvSymbol){MAKE_SYM("display"), make_procedure(proc_display)}; 43 environment[env_n++] = (EnvSymbol){MAKE_SYM("display"), make_procedure(proc_display)};
44 environment[env_n++] = (EnvSymbol){MAKE_SYM("print"), make_procedure(proc_print)};
42} 45}
43 46
44void 47void
@@ -64,8 +67,9 @@ eval_line(FILE *fd, char delimiter) {
64 printf("\n"); 67 printf("\n");
65 printf("EVAL: "); 68 printf("EVAL: ");
66#endif 69#endif
67 display(eval(ast)); 70 if (display(eval(ast))) {
68 printf("\n"); 71 printf("\n");
72 };
69 } 73 }
70 } 74 }
71} 75}