fix: 'builtins'
This commit is contained in:
+9
-4
@@ -143,12 +143,17 @@ int lisp_function_builtins(Nodes args, Scopes *scopes, Node *result) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Scope *global_scope = nob_da_first(scopes);
|
Scope *global_scope = nob_da_first(scopes);
|
||||||
Nodes nodes = {0};
|
Nodes *nodes = malloc(sizeof(Nodes));
|
||||||
nob_da_foreach(ScopeObject, scope_object, global_scope) {
|
if (nodes == NULL) {
|
||||||
nob_da_append(&nodes, scope_object->node);
|
printf("Failed to allocated memory, something is very wrong!\n");
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
*result->as_list = nodes;
|
nob_da_foreach(ScopeObject, scope_object, global_scope) {
|
||||||
|
nob_da_append(nodes, scope_object->node);
|
||||||
|
}
|
||||||
|
|
||||||
|
result->as_list = nodes;
|
||||||
result->kind = NODE_KIND_LIST;
|
result->kind = NODE_KIND_LIST;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ void build_scopes(Scopes *scopes) {
|
|||||||
scope_add_function(&global_scope, "append", lisp_function_append);
|
scope_add_function(&global_scope, "append", lisp_function_append);
|
||||||
scope_add_function(&global_scope, "length", lisp_function_length);
|
scope_add_function(&global_scope, "length", lisp_function_length);
|
||||||
scope_add_function(&global_scope, "null?", lisp_function_isnull);
|
scope_add_function(&global_scope, "null?", lisp_function_isnull);
|
||||||
|
scope_add_function(&global_scope, "builtins", lisp_function_builtins);
|
||||||
|
|
||||||
scope_add_function(&global_scope, "floor", lisp_function_floor);
|
scope_add_function(&global_scope, "floor", lisp_function_floor);
|
||||||
scope_add_function(&global_scope, "ceil", lisp_function_ceil);
|
scope_add_function(&global_scope, "ceil", lisp_function_ceil);
|
||||||
|
|||||||
Reference in New Issue
Block a user