impl scopes more or less properly
This commit is contained in:
+16
-1
@@ -1,6 +1,8 @@
|
||||
#include "lisp.h"
|
||||
|
||||
Node *lisp_function_addition(Nodes *args) {
|
||||
Node *lisp_function_addition(Nodes *args, Scopes *scopes) {
|
||||
(void)(scopes);
|
||||
|
||||
if (args->count != 2) {
|
||||
printf("'+' expects two arguments!\n");
|
||||
return NULL;
|
||||
@@ -20,3 +22,16 @@ Node *lisp_function_addition(Nodes *args) {
|
||||
node->as_number = a + b;
|
||||
return node;
|
||||
}
|
||||
|
||||
Node *lisp_function_println(Nodes *args, Scopes *scopes) {
|
||||
if (args->count != 1) {
|
||||
printf("'+' expects one argument!\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Node *result = eval(&args->items[0], scopes);
|
||||
node_print(*result);
|
||||
printf("\n");
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user