altos/lisp: Start adding scheme symbols
authorKeith Packard <keithp@keithp.com>
Sat, 18 Feb 2017 20:14:59 +0000 (12:14 -0800)
committerKeith Packard <keithp@keithp.com>
Mon, 20 Feb 2017 19:16:52 +0000 (11:16 -0800)
Migrating to something more like scheme

Signed-off-by: Keith Packard <keithp@keithp.com>
src/lisp/ao_lisp.h
src/lisp/ao_lisp_builtin.c

index 8f5c3d8e47aeb72969e8ddcda9685652ffb62abd..980514ccb826afe15d74f6f350a6295e9c4b19f8 100644 (file)
@@ -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
index 7cd131f54d3984daf594486cb246678e784372b3..006c32f9d88cdd67c6406e8ec1ecc6b50cd53831 100644 (file)
@@ -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,
 
 };