summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2019-10-18 06:08:35 -0700
committerKaz Kylheku <kaz@kylheku.com>2019-10-18 06:08:35 -0700
commita7ab51c02e36aa9e2a6a6faa2b59c965bf82d309 (patch)
treeb190b4f8e173ac01d55bb9f64fb000c76dae110e /eval.c
parent45fa8653f7a3ece2eb0c3e92057fdfa9bc5b3780 (diff)
downloadtxr-a7ab51c02e36aa9e2a6a6faa2b59c965bf82d309.tar.gz
txr-a7ab51c02e36aa9e2a6a6faa2b59c965bf82d309.tar.bz2
txr-a7ab51c02e36aa9e2a6a6faa2b59c965bf82d309.zip
functions: provide accessors for basic properties.
* eval.c (eval_init): Register intrinsic functions fun-fixparam-count, fun-optparam-count, fun-variadic. * lib.c (get_param_counts): New static function. (fun_fixparam_count, fun_optparam_count, fun_variadic): New functions. * lib.h (fun_fixparam_count, fun_optparam_count, fun_variadic): Declared. * txr.1: Documented.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 2a345f09..4e1c7aad 100644
--- a/eval.c
+++ b/eval.c
@@ -6856,6 +6856,9 @@ void eval_init(void)
reg_fun(intern(lit("functionp"), user_package), func_n1(functionp));
reg_fun(intern(lit("interp-fun-p"), user_package), func_n1(interp_fun_p));
reg_fun(intern(lit("vm-fun-p"), user_package), func_n1(vm_fun_p));
+ reg_fun(intern(lit("fun-fixparam-count"), user_package), func_n1(fun_fixparam_count));
+ reg_fun(intern(lit("fun-optparam-count"), user_package), func_n1(fun_optparam_count));
+ reg_fun(intern(lit("fun-variadic"), user_package), func_n1(fun_variadic));
reg_fun(intern(lit("ctx-form"), system_package), func_n1(ctx_form));
reg_fun(intern(lit("ctx-name"), system_package), func_n1(ctx_name));