fix syntax "if"
This commit is contained in:
parent
b2acf41393
commit
baf566703e
|
@ -89,7 +89,7 @@ struct Object *syntax_if(
|
||||||
struct Object *const environment
|
struct Object *const environment
|
||||||
) {
|
) {
|
||||||
assert(Object_is_pair(args));
|
assert(Object_is_pair(args));
|
||||||
struct Object *const cond = args->pair.car;
|
struct Object *const cond_expr = args->pair.car;
|
||||||
struct Object *const then_else_list = args->pair.cdr;
|
struct Object *const then_else_list = args->pair.cdr;
|
||||||
assert(then_else_list);
|
assert(then_else_list);
|
||||||
assert(Object_is_pair(then_else_list));
|
assert(Object_is_pair(then_else_list));
|
||||||
|
@ -100,7 +100,7 @@ struct Object *syntax_if(
|
||||||
struct Object *const else_branch = else_list->pair.car;
|
struct Object *const else_branch = else_list->pair.car;
|
||||||
assert(OBJECT_IS_NULL(else_list->pair.cdr));
|
assert(OBJECT_IS_NULL(else_list->pair.cdr));
|
||||||
|
|
||||||
if (Object_is_false(cond)) {
|
if (Object_is_false(eval(cond_expr, environment))) {
|
||||||
return eval(else_branch, environment);
|
return eval(else_branch, environment);
|
||||||
} else {
|
} else {
|
||||||
return eval(then_branch, environment);
|
return eval(then_branch, environment);
|
||||||
|
|
Loading…
Reference in New Issue