diff options
author | Keith Packard <keithp@keithp.com> | 2017-11-17 22:14:19 -0800 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2017-11-17 22:14:19 -0800 |
commit | e1acf5eb12aceda7aa838df031c1da1129d0fa5d (patch) | |
tree | e0fe6c04b9f3f654e246616a78d1278e5d6c3cf5 /src/lisp/ao_lisp.h | |
parent | a4e18a13029cc7b16b2ed9da84d6e606bc725ac3 (diff) |
altos/lisp: Add apply
And all of the library routines that use it, map, string-map and friends.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/lisp/ao_lisp.h')
-rw-r--r-- | src/lisp/ao_lisp.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lisp/ao_lisp.h b/src/lisp/ao_lisp.h index 77a94cf1..a445dddd 100644 --- a/src/lisp/ao_lisp.h +++ b/src/lisp/ao_lisp.h @@ -54,14 +54,14 @@ extern uint8_t ao_lisp_const[AO_LISP_POOL_CONST] __attribute__((aligned(4))); #define ao_lisp_pool ao_lisp_const #define AO_LISP_POOL AO_LISP_POOL_CONST -#define _atom(n) ao_lisp_atom_poly(ao_lisp_atom_intern(#n)) +#define _atom(n) ao_lisp_atom_poly(ao_lisp_atom_intern(n)) #define _bool(v) ao_lisp_bool_poly(ao_lisp_bool_get(v)) #define _ao_lisp_bool_true _bool(1) #define _ao_lisp_bool_false _bool(0) -#define _ao_lisp_atom_eof _atom(eof) -#define _ao_lisp_atom_else _atom(else) +#define _ao_lisp_atom_eof _atom("eof") +#define _ao_lisp_atom_else _atom("else") #define AO_LISP_BUILTIN_ATOMS #include "ao_lisp_builtin.h" @@ -184,6 +184,7 @@ enum eval_state { eval_val, /* Value computed */ eval_formal, /* Formal computed */ eval_exec, /* Start a lambda evaluation */ + eval_apply, /* Execute apply */ eval_cond, /* Start next cond clause */ eval_cond_test, /* Check cond condition */ eval_progn, /* Start next progn entry */ |