This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: should GOOPS be built-in?


Michael Vanier <mvanier@bbb.caltech.edu> writes:

> Since we're all in soul-searching mode and pondering the future of
> guile, I thought it would be a good idea to bring up the issue of
> whether GOOPS should be built-in to the core of guile or not.
> Personally (and I haven't thought this through in detail, this is
> just my gut feeling), I tend to think that it shouldn't be, but
> should rather be a module.

I don't agree.  Having support for the OO style of programming is just
too useful to not use it in the core itself.

> This would allow us to have alternative object systems in addition
> to GOOPS, which could also be loadable via modules.

We could have additional OO systems even if one is tightly integrated
into the core.  Having GOOPS in a module would only be a demonstration
that the idea of loadable OO system works.

I think that GOOPS is flexible enough (or we should try to make it
more flexible if the need arises) that it can emulate a broad range of
`foreign' OO systems, and not be necessarily inefficient at that.

> [...] It would also be good because my understanding of GOOPS (and
> CLOS) is that, although it/they are amazingly flexible, certain
> types of information-hiding are not as easily supported in them as
> in more traditional object systems.

GOOPS/CLOS does not adress information hiding (and shouldn't).  But I
think it could easily be dealt with during the translation phase,
probably using other mechanisms of Guile like the module system.

> Also, it would be a publicity coup for guile: "Other scripting
> languages have only one object system, but guile has several -- and
> you can make new ones!".

I think there is beauty in having only one system that is very
flexible.  Scheme has enough abstraction power so that you can built
specialized OO systems on top of GOOPS already.

- Marius

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]