bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#10781: EIEIO namespace use


From: Eric M. Ludlam
Subject: bug#10781: EIEIO namespace use
Date: Sat, 28 Apr 2012 08:29:48 -0400
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.3a1pre) Gecko/20091222 Shredder/3.1a1pre

On 04/28/2012 06:28 AM, David Engster wrote:
Stefan Monnier writes:
EIEIO needs to be cleaned up so it doesn't intrude all over
the namespace.
The worst offenders include:
- `this'.
- `slot-*'.
- `constructor', `destructor'.
- `delete-instance'.
- `initialize-instance'.
- `clone'.
- `data-debug*'.
- `make-instance'.
- `oref'.
- `oset'.
- `with-slots'.
- `object-*'.
- `class-*'.
- `next-method-p'.
- `call-next-method'.
- error symbols (like no-next-method).
- ... probably `defmethod', `defclass', and `defgeneric'.

I think this should be a goal for the next merge, but I'm at a loss
regarding how this should be tackled without, you know, breaking
practically every bit of code in CEDET and probably others. Do you have
a suggestion? Maybe even creating EIEIOv2 and slowly porting CEDET to
that?

Many symbols in eieio are the names given by CLOS, like initialize-instance, make-instance, with-slots, and call-next-method. Other names like oref/oset were meant to fill gaps where Emacs couldn't do it the clos way. If Emacs is to have a good way to do some basic OO programming, it seems to me that the names would match up with other core functions that crowd the core namespace, and it would seem poor to fill your oo code with a bunch of unnecessarily long names.

That said, there are certainly plenty that could be removed, and I would not be sad to see them go... like 'this' and a few of the class-* and object-* functions. Some already have eieio-* equivalents, but I didn't finish that.

Eric





reply via email to

[Prev in Thread] Current Thread [Next in Thread]