diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-04-07 09:15:04 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-04-07 09:15:04 -0700 |
commit | 655efc25f8129091a4fe2589cef61aae709552c6 (patch) | |
tree | 70f00c9607b97fefb0c931c129fb8c66f432c765 | |
parent | 49c0fd79a7b81d203039c2d2f2640545a67b0f78 (diff) | |
download | txr-655efc25f8129091a4fe2589cef61aae709552c6.tar.gz txr-655efc25f8129091a4fe2589cef61aae709552c6.tar.bz2 txr-655efc25f8129091a4fe2589cef61aae709552c6.zip |
lib: new function vm-fun-p.
* eval.c (eval_init): vm-fun-p intrinsic registered.
* lib.c (vm_fun_p): New function.
* lib.h (vm_fun_p): Declared.
-rw-r--r-- | eval.c | 1 | ||||
-rw-r--r-- | lib.c | 5 | ||||
-rw-r--r-- | lib.h | 1 |
3 files changed, 7 insertions, 0 deletions
@@ -6668,6 +6668,7 @@ void eval_init(void) reg_fun(intern(lit("func-set-env"), user_package), func_n2(func_set_env)); 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("ctx-form"), system_package), func_n1(ctx_form)); reg_fun(intern(lit("ctx-name"), system_package), func_n1(ctx_name)); @@ -6161,6 +6161,11 @@ val interp_fun_p(val obj) return (functionp(obj) && obj->f.functype == FINTERP) ? t : nil; } +val vm_fun_p(val obj) +{ + return (functionp(obj) && obj->f.functype == FVM) ? t : nil; +} + static noreturn void callerror(val fun, val msg) { uses_or2; @@ -901,6 +901,7 @@ val func_get_env(val fun); val func_set_env(val fun, val env); val functionp(val); val interp_fun_p(val); +val vm_fun_p(val); val generic_funcall(val fun, struct args *); val funcall(val fun); val funcall1(val fun, val arg); |