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: Syntatic sugar and identifier permissivity


Lalo Martins <lalo@hackandroll.org> writes:

> > This may not be at all how you arrived at this syntax, but maybe
> > you're influenced by class-centered object systems.  In an
> > operation-centered object system, like GOOPS, I think (bar foo) is a
> > more natural way of accessing a component of an object.
> 
> Mikael, like it or not, class-centered object systems *ARE* OOP
> "proper". The definition of OOP includes the fact that "objects
> contain data and code". Generics are a different technique,
> which can be used to emulate traditional OOP and thus are
> considered OOP when used for this.
> 
> But regardless of this meta-discussion, what happens is that
> class-centered is what people are used to, and if they have to
> learn something completely different they just won't, most of
> the time.

What are you aiming at?  That we should introduce class-centered
techniques into GOOPS?

When I was a kid we had a very good childrens program called "Five
ants are more than four elephants".  [The Swedish word "fler" means
more in the sense of number while "mer" is in the sense of mass or
volume.]  There was this sketch where "Brasse" was going to make an
amazingly good sponge-cake by adding lots of good things in it:
"Chewing gum is good, sausage is good," etc.  It turned out not to be
so good after all...  :)

GOOPS is a very coherent system, and it will continue to be so.

(Your suggested syntax is reasonably consistent also with GOOPS,
however.  The main argument against it is that it is unnecessary.)


We have very good reasons for choosing a CLOS-style object system as
the basic OO system in Guile.  It has, or can be made to have, all of
the capabilities of a class-centered system, but, in addition, has the
important power of the MOP.  In GOOPS, you can customize the language
itself.  This is an extremely valuable property of an extension
language.  I've already seen this many times in my own projects.

A GF-based system fits well with Scheme, since some Scheme procedures
can be regarded as generic functions, and since the coding style in a
GF-based system meshes better with plain Scheme.

Also, as Jost has pointed out, it is possible to use the MOP to
emulate a class-centered OO system on top of GOOPS.  (The other way
around is simply not realistic.)

> How many projects are actually using Guile right now?
> Including GNU projects?
> 
> I'm beginning to feel Guile doesn't really care about whether
> people use it or not. It definitely feels more like an
> "academic" project than something for everyone to use on a
> day-to-day basis; more like an effort to have a really cool
> Scheme implementation (which, as nice as it is, would mean
> zilch for the majority of the computer users in the world) than
> an flexible extension/scripting tool.

I think you're putting blame on the wrong reasons.  If you are
concerned about getting more people using Guile, you should contribute
to the reference manual.

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