aboutsummaryrefslogtreecommitdiff
path: root/src/sexp.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/sexp.h')
-rw-r--r--src/sexp.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/sexp.h b/src/sexp.h
index dfd3ee6..8275dfd 100644
--- a/src/sexp.h
+++ b/src/sexp.h
@@ -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;