aboutsummaryrefslogtreecommitdiff
path: root/src/interp.h
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-06-19 20:13:53 +0800
committerMistivia <i@mistivia.com>2025-06-19 20:13:53 +0800
commit14f4414967db1dd5c67405dbdf9310f4737a7388 (patch)
tree71619b6d5ee6e648ed647214b64877e79baee208 /src/interp.h
parentdc2136d7306d99e9b374f4ce758571edfcca6075 (diff)
readline, let binding, setq
Diffstat (limited to 'src/interp.h')
-rw-r--r--src/interp.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/interp.h b/src/interp.h
index 03cdf7f..3b3004d 100644
--- a/src/interp.h
+++ b/src/interp.h
@@ -40,6 +40,8 @@ SExp* Interp_ref(Interp *self, SExpRef ref);
void Interp_gc(Interp *self, SExpRef tmp_root);
void Interp_add_primitive(Interp *self, const char *name, LispPrimitive fn);
+SExpRef primitive_setq(Interp *interp, SExpRef sexp);
+SExpRef primitive_let(Interp *interp, SExpRef sexp);
SExpRef primitive_car(Interp *interp, SExpRef sexp);
SExpRef primitive_cdr(Interp *interp, SExpRef sexp);
SExpRef primitive_cons(Interp *interp, SExpRef sexp);
@@ -69,6 +71,8 @@ SExpRef new_integer(Interp *ctx, int64_t val);
SExpRef new_real(Interp *ctx, double val);
SExpRef new_string(Interp *ctx, const char *val);
SExpRef new_symbol(Interp *ctx, const char *val);
+SExpRef new_env(Interp *ctx);
+SExpRef new_binding(Interp *ctx, SExpRef name, SExpRef val);
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);