emacs-devel
[Top][All Lists]
Advanced

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

RE: Cleaning up the EIEIO namespace


From: Drew Adams
Subject: RE: Cleaning up the EIEIO namespace
Date: Wed, 13 Feb 2013 06:51:35 -0800

> > So does this mean that we can no longer know from the `cl-' 
> > prefix which library is involved?
> >
> > (I don't mean which file in the library, but which library. 
> > In the past, `cl-' pretty much indicated library `cl' -
> > either file cl.el or one of its related files cl-mac.el,
> > cl-seq.el etc.)
> 
> That is certainly a valid concern.
> But I (and I guess Stefan, too) was thinking more along the
> lines that 'cl' essentially means "common lisp",

"Cl" can mean any number of things.  But as an Emacs-Lisp prefix, `cl-' has
always referred to the Emacs-Lisp library that emulates some Common-Lisp
features.  And that has never meant the same thing as Common Lisp itself, even
essentially.

> and EIEIO being a CLOS implementation,

Hm, really?  My guess would be that it is an Emacs Lisp emulation of some CLOS
features.  If it really implemented CLOS then it would, in effect, also need to
implement Common Lisp, which I'm guessing is far from the case.

If we really had Common Lisp for Emacs, that would be a different ball game.
But we don't.  What we have are some emulations of some parts of some Common
Lisp features.

> this would make sense.  Maybe it
> would be cleaner to also rename the eieio- files to cl-clos-,

Why "also"?  In addition to what? `cl-'?  Why not instead of `cl-'?

> but that would break a lot of things out there.

What would it break, and why?  Eieio has never had the prefix `cl-' before, has
it?  Or is there something else you are aware of that already uses the prefix
`cl-clos-'?  Can you be specific about the "lot of things" that using prefix
`cl-clos-' would break.

But why not use the simpler prefix `clos-'?  There's no need for the stutter
`cl-clos-', is there?

Alternatively, rename all of the Eieio files to have prefix `cl-' and make Eieio
part of library cl.  I (still) see no reason why `cl-' shouldn't always indicate
library cl.

How you characterize Eieio - as a separate library or as part of library cl - is
up to you.  But it would be good for the prefix used to reflect the library, in
either case.  If Eieio is a separate library, then it would have its own prefix.
If it is part of library cl then it would have prefix `cl-'.  Make sense?

If Eieio is a separate library, and you if want to use prefix `clos-' (or
`cl-clos-') for it, and not, say, prefix `eieio-', then why not rename the
library itself to clos?  If it is a Clos emulation library and not more, then
why not have its name reflect that?

Renaming library Eieio might break things, I imagine.  But I don't (yet) see how
using the prefix `clos-' instead of `cl-' would break things.




reply via email to

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