aboutsummaryrefslogtreecommitdiff
path: root/src/interp.h
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-06-20 15:11:20 +0800
committerMistivia <i@mistivia.com>2025-06-20 15:11:20 +0800
commit815b972460fb83267a719f82afd79c2abaac80cd (patch)
tree7dac972705ead6fc29520a9cb91982ef6b0e5c7f /src/interp.h
parentf09b34f95134972ecb907dbef0a697f4fcc1abaf (diff)
defun
Diffstat (limited to 'src/interp.h')
-rw-r--r--src/interp.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/interp.h b/src/interp.h
index 15a8851..c794ed9 100644
--- a/src/interp.h
+++ b/src/interp.h
@@ -60,7 +60,7 @@ void Interp_add_userfunc(Interp *self, const char *name, LispUserFunc fn);
#define PUSH_REG(_x) { interp->reg = CONS((_x), interp->reg); }
#define POP_REG() { interp->reg = CDR(interp->reg); }
-void lisp_setfun(Interp *interp, const char *name, SExpRef val);
+void lisp_defun(Interp *interp, const char *name, SExpRef val);
void lisp_print(Interp *interp, SExpRef obj, FILE *fp);
SExpRef lisp_lookup(Interp *interp, const char *name);
SExpRef lisp_lookup_func(Interp *interp, const char *name);
@@ -91,6 +91,7 @@ SExpRef new_symbol(Interp *ctx, const char *val);
SExpRef new_env(Interp *ctx);
SExpRef new_binding(Interp *ctx, SExpRef name, SExpRef val);
SExpRef new_userfunc(Interp *interp, LispUserFunc val);
+SExpRef new_lambda(Interp *interp, SExpRef param, SExpRef body, SExpRef env);
SExpRef new_list1(Interp *ctx, SExpRef e1);
SExpRef new_list2(Interp *ctx, SExpRef e1, SExpRef e2);
SExpRef new_list3(Interp *ctx, SExpRef e1, SExpRef e2, SExpRef e3);