From 8e2aef8f2b466b37753ba0acd4bd668ff54b3669 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 13 Nov 2018 20:45:10 -0800 Subject: copy-fun: duplicate a function, with own environment. * eval.c (deep_copy_env): New function. (eval_init): Register copy-fun intrinsic. * eval.h (deep_copy_env): Declared. * lib.c (copy_fun): New function. * lib.h (copy_fun): Declared. * vm.c (vm_copy_closure): New function. * vm.h (vm_copy_closure): Declared. * txr.1: Documented copy-fun. --- lib.h | 1 + 1 file changed, 1 insertion(+) (limited to 'lib.h') diff --git a/lib.h b/lib.h index 1d6488d3..c6973252 100644 --- a/lib.h +++ b/lib.h @@ -904,6 +904,7 @@ val func_n2ov(val (*fun)(val, val, varg), int reqargs); val func_n3ov(val (*fun)(val, val, val, varg), int reqargs); val func_interp(val env, val form); val func_vm(val closure, val desc, int fixparam, int reqargs, int variadic); +val copy_fun(val ofun); val func_get_form(val fun); val func_get_env(val fun); val func_set_env(val fun, val env); -- cgit v1.2.3