aboutsummaryrefslogtreecommitdiff
path: root/primitives.h
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-07-22 15:34:57 +0800
committerMistivia <i@mistivia.com>2025-07-22 15:35:11 +0800
commitea5c15cbd628953e7b9d17b45ea685006a582cd4 (patch)
tree0440a31d4fb2f73cd150fa11f19ac08fd23562f9 /primitives.h
parentd64a599af8c6b52223b20f727d76a59a562abb75 (diff)
change dir structure
Diffstat (limited to 'primitives.h')
-rw-r--r--primitives.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/primitives.h b/primitives.h
new file mode 100644
index 0000000..cd686fe
--- /dev/null
+++ b/primitives.h
@@ -0,0 +1,35 @@
+#ifndef BAMBOO_LISP_PRIMITIVIE_H_
+#define BAMBOO_LISP_PRIMITIVIE_H_
+
+#include "interp.h"
+
+SExpRef primitive_assert_error(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_assert_exception(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_load(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_return(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_break(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_continue(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_assert(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_eval(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_if(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_cond(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_progn(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_setq(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_let(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_while(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_lambda(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_defun(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_defvar(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_defmacro(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_function(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_macroexpand1(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_funcall(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_apply(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_quote(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_quasi(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_and(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_or(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_unwind_protect(Interp *interp, SExpRef sexp, bool istail);
+SExpRef primitive_try(Interp *interp, SExpRef sexp, bool istail);
+
+#endif