This is the mail archive of the
guile@cygnus.com
mailing list for the Guile project.
Re: records
> but my understanding is that all of the existing record proposals can
> basically be implemented on top of GOOPS in one way or another
As I understand the issue guile has a record implementation called
"struct" and GOOPS is build on top of structs, no?
> Abelson and Sussman argue that object systems are misconceived to
> begin with. (There's a long footnote in SICP about this; I can't
> remember where it is, exactly.) Their argument is essentially that
> nobody has figured out a decent way to describe operations on more
> than one type. Or something like that. CLOS at least attempts to
> address this issue, by letting you specialize a generic function on the
> types of more than one of its arguments. But Java, C++, etc. just
> totally punt the issue.
I think this is the old "genericity vs. inheritance" problem.
Bertrand Meyer showed that it is possible to emulate genericity on a
system that supports inheritance but it is not possible to emulate
inheritance on a system that only supports generic types/behaviour.
Scheme supports genericity and Java, C++ etc. support
inheritance. Eiffel supports inheritance *and* (as a special
case) a generic type so that it is not necessary to emulate it.
Jost