summaryrefslogtreecommitdiff
path: root/src/lisp/ao_lisp.h
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-12-03 19:54:18 -0800
committerKeith Packard <keithp@keithp.com>2017-12-03 19:54:18 -0800
commit9dbc686ad7d3289dc0f9bcf4a973f71100e02ded (patch)
treec64a5e1c981ef3fb6995d361f4b65c1aa8a0f51a /src/lisp/ao_lisp.h
parenta1d013ab8cc508d4e17ae8876bc5465d1a2dfc1e (diff)
altos/lisp: Switch to scheme formal syntax for varargs
Scheme uses bare symbols to indicate a varargs parameter; any bare (i.e., not wrapped in a cons cell) parameter will get the 'rest' of the parameter list. This works for lambdas, nlambdas and macros. As a result, the 'lexpr' form has been removed as it is equivalent to a lambda with a varargs formal. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/lisp/ao_lisp.h')
-rw-r--r--src/lisp/ao_lisp.h2
1 files changed, 0 insertions, 2 deletions
diff --git a/src/lisp/ao_lisp.h b/src/lisp/ao_lisp.h
index d32e7dcd..b5e03b1e 100644
--- a/src/lisp/ao_lisp.h
+++ b/src/lisp/ao_lisp.h
@@ -297,7 +297,6 @@ extern ao_poly ao_lisp_v;
#define AO_LISP_FUNC_LAMBDA 0
#define AO_LISP_FUNC_NLAMBDA 1
#define AO_LISP_FUNC_MACRO 2
-#define AO_LISP_FUNC_LEXPR 3
#define AO_LISP_FUNC_FREE_ARGS 0x80
#define AO_LISP_FUNC_MASK 0x7f
@@ -305,7 +304,6 @@ extern ao_poly ao_lisp_v;
#define AO_LISP_FUNC_F_LAMBDA (AO_LISP_FUNC_FREE_ARGS | AO_LISP_FUNC_LAMBDA)
#define AO_LISP_FUNC_F_NLAMBDA (AO_LISP_FUNC_FREE_ARGS | AO_LISP_FUNC_NLAMBDA)
#define AO_LISP_FUNC_F_MACRO (AO_LISP_FUNC_FREE_ARGS | AO_LISP_FUNC_MACRO)
-#define AO_LISP_FUNC_F_LEXPR (AO_LISP_FUNC_FREE_ARGS | AO_LISP_FUNC_LEXPR)
struct ao_lisp_builtin {
uint8_t type;