summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-02-18 12:14:59 -0800
committerKeith Packard <keithp@keithp.com>2017-02-20 11:16:52 -0800
commitbc076747f6cc00508aef909a3a5bd3edf8c9bd66 (patch)
treeab3886e1270596f2dcd416495c2e3ba09e80cd66
parent9c85c9d60334edc2af65a47124873e94e0ff1e9c (diff)
altos/lisp: Start adding scheme symbols
Migrating to something more like scheme Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--src/lisp/ao_lisp.h4
-rw-r--r--src/lisp/ao_lisp_builtin.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/src/lisp/ao_lisp.h b/src/lisp/ao_lisp.h
index 8f5c3d8e..980514cc 100644
--- a/src/lisp/ao_lisp.h
+++ b/src/lisp/ao_lisp.h
@@ -79,6 +79,10 @@ extern uint8_t ao_lisp_const[AO_LISP_POOL_CONST] __attribute__((aligned(4)));
#define _ao_lisp_atom_restore _atom("restore")
#define _ao_lisp_atom_call2fcc _atom("call/cc")
#define _ao_lisp_atom_collect _atom("collect")
+#define _ao_lisp_atom_symbolp _atom("symbol?")
+#define _ao_lisp_atom_builtin _atom("builtin?")
+#define _ao_lisp_atom_symbolp _atom("symbol?")
+#define _ao_lisp_atom_symbolp _atom("symbol?")
#else
#include "ao_lisp_const.h"
#ifndef AO_LISP_POOL
diff --git a/src/lisp/ao_lisp_builtin.c b/src/lisp/ao_lisp_builtin.c
index 7cd131f5..006c32f9 100644
--- a/src/lisp/ao_lisp_builtin.c
+++ b/src/lisp/ao_lisp_builtin.c
@@ -88,6 +88,10 @@ static const ao_poly builtin_names[] = {
[builtin_restore] = _ao_lisp_atom_restore,
[builtin_call_cc] = _ao_lisp_atom_call2fcc,
[builtin_collect] = _ao_lisp_atom_collect,
+ [builtin_symbolp] = _ao_lisp_atom_symbolp,
+ [builtin_listp] = _ao_lisp_atom_listp,
+ [builtin_stringp] = _ao_lisp_atom_stringp,
+ [builtin_numberp] = _ao_lisp_atom_numberp,
};