From 9dbc686ad7d3289dc0f9bcf4a973f71100e02ded Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 3 Dec 2017 19:54:18 -0800 Subject: 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 --- src/lisp/ao_lisp_make_builtin | 2 -- 1 file changed, 2 deletions(-) (limited to 'src/lisp/ao_lisp_make_builtin') diff --git a/src/lisp/ao_lisp_make_builtin b/src/lisp/ao_lisp_make_builtin index c4ba9d94..783ab378 100644 --- a/src/lisp/ao_lisp_make_builtin +++ b/src/lisp/ao_lisp_make_builtin @@ -9,10 +9,8 @@ typedef struct { string[string] type_map = { "lambda" => "LAMBDA", "nlambda" => "NLAMBDA", - "lexpr" => "LEXPR", "macro" => "MACRO", "f_lambda" => "F_LAMBDA", - "f_lexpr" => "F_LEXPR", "atom" => "atom", }; -- cgit v1.2.3