Add recursive calls, (function), #'
diff --git a/src/lisp/compiler.h b/src/lisp/compiler.h
index 07928d2..16cc35e 100644
--- a/src/lisp/compiler.h
+++ b/src/lisp/compiler.h
@@ -61,7 +61,11 @@
 	/// Parent environment, NULL if none (root).
 	struct local *parent;
 
-	int num_vars;
+	/// Name that the current function should be referred to by, e.g. `recurse`
+	/// for a lambda.
+	char *current_function_name;
+
+	int num_vars, num_args;
 	/// Most recently defined variable
 	struct variable *first;
 	int npc;
@@ -95,7 +99,7 @@
  */
 struct dasm_State *compile_function(value_t args, enum namespace namespace,
                                     struct environment *env, struct local *local_out,
-                                    struct local *local_parent, int *nargs);
+                                    struct local *local_parent, int *nargs, char *name);
 
 void compile_variable(struct variable *v, dasm_State *Dst);