diff options
author | Keith Packard <keithp@keithp.com> | 2017-11-16 18:41:18 -0800 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2017-11-16 18:41:18 -0800 |
commit | 0ced351c8f4449f7086b04e42c822d649f040d1f (patch) | |
tree | 24b2c47e7655c2a212b7bab1e29b33dd63f416cf /src/lisp/ao_lisp_eval.c | |
parent | b3b4731fcb89cb404433f37a7704a503567c43bd (diff) |
altos/lisp: Add 'else' sematics to cond
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/lisp/ao_lisp_eval.c')
-rw-r--r-- | src/lisp/ao_lisp_eval.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lisp/ao_lisp_eval.c b/src/lisp/ao_lisp_eval.c index b6cb4fd8..57227e93 100644 --- a/src/lisp/ao_lisp_eval.c +++ b/src/lisp/ao_lisp_eval.c @@ -324,6 +324,8 @@ ao_lisp_eval_cond(void) return 0; } ao_lisp_v = ao_lisp_poly_cons(ao_lisp_v)->car; + if (ao_lisp_v == _ao_lisp_atom_else) + ao_lisp_v = _ao_lisp_bool_true; ao_lisp_stack->state = eval_cond_test; if (!ao_lisp_stack_push()) return 0; @@ -492,6 +494,9 @@ const char *ao_lisp_state_names[] = { "cond", "cond_test", "progn", + "while", + "while_test", + "macro", }; /* |