diff options
author | Andy Wingo <wingo@pobox.com> | 2009-11-06 10:27:19 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-11-26 00:25:07 +0100 |
commit | ab455d1f1b14347e1445161eeafec919235af92e (patch) | |
tree | 5b32056bfa0860d3fa53090fc9687d282475852f /libguile/struct.c | |
parent | a9a90a8820e6f6a36d0f17cdca5f8ba0d7ca735b (diff) | |
download | guile-ab455d1f1b14347e1445161eeafec919235af92e.tar.gz |
eqv? not a generic, equal? dispatches to generic only for objects
* libguile/eq.c (scm_eqv_p): Not a generic any more. Since eqv? is used
by e.g. `case', which should be able to compile into dispatch tables,
it really doesn't make sense to dispatch out to a generic.
(scm_equal_p): So it was always the case that (equal? 'foo "foo") =>
#f. But (equal? 'foo 'bar) could actually be extended by a generic.
This was a bug, if you follow the other logic of the code. Changed so
that generic functions can only extend the domain of equal? when
operating on goops objects.
* oop/goops.scm: No more eqv? generic.
* test-suite/tests/goops.test: Remove eqv? tests.
Diffstat (limited to 'libguile/struct.c')
0 files changed, 0 insertions, 0 deletions