diff options
| author | Mistivia <i@mistivia.com> | 2025-06-21 10:45:36 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-06-21 10:45:36 +0800 |
| commit | 86742c415b34ae063bf8597d9228e9d37f0d7294 (patch) | |
| tree | 297b2ae6a8b20bf74c9e54ec6628799c02425c0d /src/primitives.h | |
| parent | 0afe446fa6e893448da949b1b6882c87b3b2701c (diff) | |
tail call optimazation
Diffstat (limited to 'src/primitives.h')
| -rw-r--r-- | src/primitives.h | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/src/primitives.h b/src/primitives.h index 7e6d559..5e22ba9 100644 --- a/src/primitives.h +++ b/src/primitives.h @@ -3,23 +3,23 @@ #include "interp.h" -SExpRef primitive_if(Interp *interp, SExpRef sexp); -SExpRef primitive_cond(Interp *interp, SExpRef sexp); -SExpRef primitive_progn(Interp *interp, SExpRef sexp); -SExpRef primitive_setq(Interp *interp, SExpRef sexp); -SExpRef primitive_let(Interp *interp, SExpRef sexp); -SExpRef primitive_while(Interp *interp, SExpRef sexp); -SExpRef primitive_lambda(Interp *interp, SExpRef sexp); -SExpRef primitive_defun(Interp *interp, SExpRef sexp); -SExpRef primitive_defvar(Interp *interp, SExpRef sexp); -SExpRef primitive_defmacro(Interp *interp, SExpRef sexp); -SExpRef primitive_function(Interp *interp, SExpRef sexp); -SExpRef primitive_macroexpand1(Interp *interp, SExpRef sexp); -SExpRef primitive_funcall(Interp *interp, SExpRef sexp); -SExpRef primitive_apply(Interp *interp, SExpRef sexp); -SExpRef primitive_quote(Interp *interp, SExpRef sexp); -SExpRef primitive_quasi(Interp *interp, SExpRef sexp); -SExpRef primitive_and(Interp *interp, SExpRef sexp); -SExpRef primitive_or(Interp *interp, SExpRef sexp); +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); #endif |
