diff options
-rw-r--r-- | src/bootstrap/primitives.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/bootstrap/primitives.c b/src/bootstrap/primitives.c index 9960688..64dea95 100644 --- a/src/bootstrap/primitives.c +++ b/src/bootstrap/primitives.c | |||
@@ -118,20 +118,18 @@ eval_lambda: | |||
118 | }); | 118 | }); |
119 | return obj_err; | 119 | return obj_err; |
120 | } | 120 | } |
121 | if (args->car == obj_nil) { | ||
122 | error_push((Error){ | ||
123 | .type = ERR_TYPE_RUNTIME, | ||
124 | .value = ERR_NOT_ENOUGH_ARGS, | ||
125 | }); | ||
126 | return obj_err; | ||
127 | } | ||
121 | Object *symbol = params->car; | 128 | Object *symbol = params->car; |
122 | Object *value = eval(env, args->car); | 129 | Object *value = eval(env, args->car); |
123 | if (value == obj_err) { | 130 | if (value == obj_err) { |
124 | return obj_err; | 131 | return obj_err; |
125 | } | 132 | } |
126 | if (value == obj_nil) { | ||
127 | // Need to reconsider this, it can cause issues when | ||
128 | // arguments contain a random nil | ||
129 | // error_push((Error){ | ||
130 | // .type = ERR_TYPE_RUNTIME, | ||
131 | // .value = ERR_NOT_ENOUGH_ARGS, | ||
132 | // }); | ||
133 | // return obj_err; | ||
134 | } | ||
135 | env_add_or_update_current(tmp, symbol, value); | 133 | env_add_or_update_current(tmp, symbol, value); |
136 | args = args->cdr; | 134 | args = args->cdr; |
137 | params = params->cdr; | 135 | params = params->cdr; |