From 4673fde605090320fbab227e56bb085eec97362a Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Sun, 10 Oct 2021 12:11:45 +0200 Subject: Add boolean primitives and more (better) tests --- src/bootstrap/main.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/bootstrap/main.c') 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) { environment[env_n++] = (EnvSymbol){MAKE_SYM("*"), make_procedure(proc_mul)}; environment[env_n++] = (EnvSymbol){MAKE_SYM("/"), make_procedure(proc_div)}; environment[env_n++] = (EnvSymbol){MAKE_SYM("boolean?"), make_procedure(proc_is_boolean)}; - environment[env_n++] = (EnvSymbol){MAKE_SYM("false?"), make_procedure(proc_is_false)}; + environment[env_n++] = (EnvSymbol){MAKE_SYM("not"), make_procedure(proc_not)}; + environment[env_n++] = (EnvSymbol){MAKE_SYM("and"), make_procedure(proc_and)}; + environment[env_n++] = (EnvSymbol){MAKE_SYM("or"), make_procedure(proc_or)}; environment[env_n++] = (EnvSymbol){MAKE_SYM("display"), make_procedure(proc_display)}; + environment[env_n++] = (EnvSymbol){MAKE_SYM("print"), make_procedure(proc_print)}; } void @@ -64,8 +67,9 @@ eval_line(FILE *fd, char delimiter) { printf("\n"); printf("EVAL: "); #endif - display(eval(ast)); - printf("\n"); + if (display(eval(ast))) { + printf("\n"); + }; } } } -- cgit v1.2.1