diff options
| author | Mistivia <i@mistivia.com> | 2025-06-22 15:21:42 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-06-22 15:22:04 +0800 |
| commit | 9991238f133f2cb06ee366b2c92dbb32a126ae9d (patch) | |
| tree | e07e89bebf7492b72480cfa6f2b122a7c979b6be /src/sexp.h | |
| parent | 6371e6ff8f5f78a48492a6ebb52001c4851dde6c (diff) | |
optimize name lookup
Diffstat (limited to 'src/sexp.h')
| -rw-r--r-- | src/sexp.h | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -27,6 +27,7 @@ typedef struct { struct interp; typedef struct interp Interp; typedef SExpRef (*LispUserFunc)(Interp *interp, SExpRef args); +typedef SExpRef (*LispPrimitive)(Interp *interp, SExpRef sexp, bool istail); typedef struct { SExpRef args; @@ -63,6 +64,7 @@ typedef enum { kPairSExp, kFuncSExp, kUserFuncSExp, + kPrimitiveSExp, kEnvSExp, kBindingSExp, kMacroSExp, @@ -86,6 +88,7 @@ struct sexp { SExpPair pair; SExpFunc func; LispUserFunc userfunc; + LispPrimitive primitive; SExpEnv env; SExpBinding binding; SExpMacro macro; |
