diff options
| author | Mistivia <i@mistivia.com> | 2025-06-19 20:13:53 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-06-19 20:13:53 +0800 |
| commit | 14f4414967db1dd5c67405dbdf9310f4737a7388 (patch) | |
| tree | 71619b6d5ee6e648ed647214b64877e79baee208 /src/interp.h | |
| parent | dc2136d7306d99e9b374f4ce758571edfcca6075 (diff) | |
readline, let binding, setq
Diffstat (limited to 'src/interp.h')
| -rw-r--r-- | src/interp.h | 4 |
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); |
