mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-15 16:20:17 +02:00
remove asubrs
* libguile/tags.h (scm_tcs_subrs, scm_tc7_asubr): Remove definitions. * libguile/goops.c (scm_class_of) * libguile/procprop.c (scm_i_procedure_arity) * libguile/procs.c (scm_thunk_p) * libguile/vm.c (apply_foreign): Remove cases for asubrs. * libguile/array-map.c: Gut all of the optimizations, because there are no more asubrs, soon won't be rpsubrs, and all of this should happen on the Scheme level, ideally.
This commit is contained in:
parent
bf5a05f2a0
commit
31d845b4bc
6 changed files with 16 additions and 228 deletions
|
@ -280,16 +280,6 @@ apply_foreign (SCM proc, SCM *args, int nargs, int headroom)
|
|||
case scm_tc7_cxr:
|
||||
if (nargs != 1) scm_wrong_num_args (proc);
|
||||
return scm_i_chase_pairs (args[0], (scm_t_bits) SCM_SUBRF (proc));
|
||||
case scm_tc7_asubr:
|
||||
if (nargs < 2)
|
||||
return SCM_SUBRF (proc) (args[0], SCM_UNDEFINED);
|
||||
{
|
||||
SCM x = args[0];
|
||||
int idx = 1;
|
||||
while (nargs-- > 1)
|
||||
x = SCM_SUBRF (proc) (x, args[idx++]);
|
||||
return x;
|
||||
}
|
||||
case scm_tc7_rpsubr:
|
||||
{
|
||||
int idx = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue