* 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:
Mikael Djurfeldt 2003-03-06 12:51:57 +00:00
commit a48d60b1c0
11 changed files with 147 additions and 25 deletions

View file

@ -1,3 +1,7 @@
2003-03-06 Mikael Djurfeldt <djurfeldt@nada.kth.se>
* goops.scm (equal?): Define default method.
2003-01-18 Mikael Djurfeldt <djurfeldt@nada.kth.se>
* goops.scm (method): Construct a new copy of the constant '('())

View file

@ -719,6 +719,8 @@
;;; Methods to compare objects
;;;
(define-method (equal? x y) #f)
(define-method (object-eqv? x y) #f)
(define-method (object-equal? x y) (eqv? x y))