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);
|
||||
Nodes nodes = {0};
|
||||
nob_da_foreach(ScopeObject, scope_object, global_scope) {
|
||||
nob_da_append(&nodes, scope_object->node);
|
||||
Nodes *nodes = malloc(sizeof(Nodes));
|
||||
if (nodes == NULL) {
|
||||
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;
|
||||
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, "length", lisp_function_length);
|
||||
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, "ceil", lisp_function_ceil);
|
||||
|
||||
Reference in New Issue
Block a user