mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-15 08:10:17 +02:00
* srfi-1.c (scm_init_srfi_1): Extend root module map and for-each
with the versions in this module using scm_c_extend_primitive_generic. * goops.scm (equal?): Define default method. * goops.c (scm_primitive_generic_generic): Enable primitive generic if not enabled. (scm_sys_goops_loaded): Setup unextended primitive generics. * goops.c, goops.h (scm_c_extend_primitive_generic): New function. * snarf.h (SCM_PRIMITIVE_GENERIC, SCM_PRIMITIVE_GENERIC_1): New snarf macros. * numbers.c (scm_abs): Use SCM_PRIMITIVE_GENERIC. (This is only a testing example. All uses of SCM_GPROC should be converted.) * procprop.c (scm_stand_in_scm_proc): Use scm_assq instead of scm_assoc. * eq.c (scm_equal_p): Turned into a primitive generic.
This commit is contained in:
parent
1798b73dc4
commit
a48d60b1c0
11 changed files with 147 additions and 25 deletions
|
@ -348,9 +348,16 @@ SCM_DEFINE (scm_srfi1_assoc, "assoc", 2, 1, 0,
|
|||
void
|
||||
scm_init_srfi_1 (void)
|
||||
{
|
||||
SCM the_root_module = scm_lookup_closure_module (SCM_BOOL_F);
|
||||
#ifndef SCM_MAGIC_SNARFER
|
||||
#include "srfi/srfi-1.x"
|
||||
#endif
|
||||
scm_c_extend_primitive_generic
|
||||
(SCM_VARIABLE_REF (scm_c_module_lookup (the_root_module, "map")),
|
||||
SCM_VARIABLE_REF (scm_c_lookup ("map")));
|
||||
scm_c_extend_primitive_generic
|
||||
(SCM_VARIABLE_REF (scm_c_module_lookup (the_root_module, "for-each")),
|
||||
SCM_VARIABLE_REF (scm_c_lookup ("for-each")));
|
||||
}
|
||||
|
||||
/* End of srfi-1.c. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue