Add reduce
Broken
diff --git a/src/lisp/compiler.h b/src/lisp/compiler.h
index 6031fde..6a944e6 100644
--- a/src/lisp/compiler.h
+++ b/src/lisp/compiler.h
@@ -35,7 +35,7 @@
value_t (*def1)(value_t);
value_t (*def2)(value_t, value_t);
value_t (*def3)(value_t, value_t, value_t);
- void *code_ptr;
+ void *code_ptr;
uintptr_t code_addr;
};
@@ -209,6 +209,14 @@
bool load(struct environment *env, char *path);
/**
+ * Load a file relative to another file.
+ * @param to The file to load relative to.
+ * @param name The name or relative path of the file to load.
+ * @param env The environment to load in.
+ */
+value_t load_relative(struct environment *env, char *to, value_t name);
+
+/**
* Mark a file `path` as loaded in the environment. `path` will be expanded with
* `readlink`. You can pass a temporary string here, memory will be allocated by
* this function as needed.