RE: Cleaning up the EIEIO namespace
"Drew Adams" <[email protected]> Wed, 13 Feb 2013 06:51:35 -0800
| Newsgroups | gmane.emacs.devel,gmane.emacs.eieio |
|---|---|
| Message-ID | <[email protected]> |
> > 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.