]> git.lizzy.rs Git - uwu-nolambda.git/blob - flow.c
Fix typo in README.md
[uwu-nolambda.git] / flow.c
1 #include <stdlib.h>
2 #include <stdio.h>
3 #include "common/err.h"
4 #include "api/vm.h"
5 #include "api/nil.h"
6 #include "api/str.h"
7 #include "api/util.h"
8
9 UwUVMValue uwu_linear(UwUVMArgs *args)
10 {
11         uwuutil_require_min("flow.linear", args, 1);
12
13         size_t return_arg = args->num - 1;
14
15         for (size_t i = 0; i < return_arg; i++)
16                 uwuvm_get_arg(args, i);
17
18         return uwuvm_clone_value(uwuvm_get_arg(args, return_arg));
19 }
20
21 UwUVMValue uwu_error(UwUVMArgs *args)
22 {
23         uwuutil_require_exact("flow.error", args, 1);
24
25         char *err = uwustr_get(uwuvm_get_arg(args, 0));
26         fprintf(stderr, "%s\n", err);
27         free(err);
28
29         exit(1);
30
31         return uwunil_create();
32 }