diff --git a/src/syntax.c b/src/syntax.c index c458e39..fc94535 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -89,7 +89,7 @@ struct Object *syntax_if( struct Object *const environment ) { 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; assert(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; 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); } else { return eval(then_branch, environment);