aboutsummaryrefslogtreecommitdiff
path: root/api/vm.h
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2021-12-30 16:53:37 +0100
committerElias Fleckenstein <eliasfleckenstein@web.de>2021-12-30 16:53:37 +0100
commit4c52777ca9e52edd0bff76168d886de9757ea457 (patch)
tree385c548fbae43f4b4764a1c32d5babe60c84aa4d /api/vm.h
parent058d954e80f83c26deb209008f11d87a5b59418e (diff)
downloaduwu-lang-4c52777ca9e52edd0bff76168d886de9757ea457.tar.xz
Add :ref module and refactor type handling
Diffstat (limited to 'api/vm.h')
-rw-r--r--api/vm.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/api/vm.h b/api/vm.h
index 7286f63..81465f8 100644
--- a/api/vm.h
+++ b/api/vm.h
@@ -13,9 +13,9 @@ typedef enum
typedef struct
{
- void *(*copy )(void *data);
- void (*delete)(void *data);
- char *(*print )(void *data);
+ void *(*clone)(void *data);
+ void (*delet)(void *data);
+ char *(*print)(void *data);
} UwUVMType;
typedef struct
@@ -71,11 +71,11 @@ typedef struct
size_t num_libraries;
} UwUVMProgram;
-void uwuvm_free_value(UwUVMValue value);
-void uwuvm_free_args(UwUVMArgs *args);
-UwUVMValue uwuvm_copy_value(UwUVMValue value);
+UwUVMValue uwuvm_clone_value(UwUVMValue value);
+void uwuvm_delet_value(UwUVMValue value);
+char *uwuvm_print_value(UwUVMValue value);
UwUVMValue uwuvm_get_arg(UwUVMArgs *args, size_t i);
UwUVMValue uwuvm_evaluate_expression(UwUVMExpression *expression, UwUVMArgs *args);
-UwUVMValue uwuvm_run_function(UwUVMFunction *function, UwUVMArgs args);
+UwUVMValue uwuvm_call_function(UwUVMFunction *function, size_t num_args, UwUVMExpression *unevaluated_args, UwUVMArgs *super_args);
#endif