diff options
| author | Keith Packard <keithp@keithp.com> | 2016-11-10 11:30:55 -0800 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2017-02-20 11:16:50 -0800 | 
| commit | c7d7cdc2318a97534c4c1f9c6fd2b51644be729d (patch) | |
| tree | 6db3879511a9ab393d5835eb9b81ef2eaedad9c9 /src/lisp/ao_lisp_make_const.c | |
| parent | 417161dbb36323b5a6572859dedad02ca92fc65c (diff) | |
altos/lisp: add progn, while, read and eval
Progn as a builtin will help with tail-recursion.
while provides for loops until tail-recursion works :-)
read and eval are kinda useful.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/lisp/ao_lisp_make_const.c')
| -rw-r--r-- | src/lisp/ao_lisp_make_const.c | 4 | 
1 files changed, 4 insertions, 0 deletions
| diff --git a/src/lisp/ao_lisp_make_const.c b/src/lisp/ao_lisp_make_const.c index 6f852f9d..bb4afbfb 100644 --- a/src/lisp/ao_lisp_make_const.c +++ b/src/lisp/ao_lisp_make_const.c @@ -33,6 +33,8 @@ struct builtin_func {  };  struct builtin_func funcs[] = { +	"eval",		AO_LISP_FUNC_LAMBDA,	builtin_eval, +	"read",		AO_LISP_FUNC_LAMBDA,	builtin_read,  	"lambda",	AO_LISP_FUNC_NLAMBDA,	builtin_lambda,  	"lexpr",	AO_LISP_FUNC_NLAMBDA,	builtin_lexpr,  	"nlambda",	AO_LISP_FUNC_NLAMBDA,	builtin_nlambda, @@ -45,6 +47,8 @@ struct builtin_func funcs[] = {  	"set",		AO_LISP_FUNC_LAMBDA,	builtin_set,  	"setq",		AO_LISP_FUNC_MACRO,	builtin_setq,  	"cond",		AO_LISP_FUNC_NLAMBDA,	builtin_cond, +	"progn",	AO_LISP_FUNC_NLAMBDA,	builtin_progn, +	"while",	AO_LISP_FUNC_NLAMBDA,	builtin_while,  	"print",	AO_LISP_FUNC_LEXPR,	builtin_print,  	"patom",	AO_LISP_FUNC_LEXPR,	builtin_patom,  	"+",		AO_LISP_FUNC_LEXPR,	builtin_plus, | 
