emacs-devel
[Top][All Lists]
Advanced

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

Re: CommonLisp namespace system (was Re: adding namespaces to emacs-lisp


From: Pascal J. Bourguignon
Subject: Re: CommonLisp namespace system (was Re: adding namespaces to emacs-lisp (better elisp?))
Date: Fri, 26 Jul 2013 23:06:03 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux)

Nic Ferrier <address@hidden> writes:

> Drew Adams <address@hidden> writes:
>
>> I read your proposal overview, Nic.  It's not clear to me just what
>> the differences would be from the Common Lisp package system.
>> Perhaps you could spell the differences out in more detail somewhere.
>>
>> But the closer we can get to the CL spec the better, IMO.  If we
>> could conform to it completely, that would be great.
>
> I disagree. Emacs isn't CommonLisp, never has been CommonLisp and
> very likely, never will be CommonLisp.
>
>
>> Even keeping the same terminology, symbol names etc. as CL would
>> help.  It would help users who are coming from Common Lisp or who
>> happen to read Common Lisp doc.
>
> But at the expense of muddying the waters for people who are not from
> that world.
>
> In Emacs world, we use "package" to mean something different from what
> CL "package" means. So right at the start that effort is doomed without
> a major change to Emacs 24.

Absolutely NOT.

That's the point of packages!

emacs:package can be different from common-lisp:package.

(cl:defpackage "my-program" 
  (:use "emacs")
  (:export "package"))

(cl:in-package "my-program")

(package-install "ups")

(defstruct package
   id
   destination-address
   expeditor-address
   weight)


There, you have three different packages.  common-lisp:package is the
namespace type, emacs:package is the system.  my-program:package is an
enterprise object representing some parcel being sent thru UPS.



>> Of course, adopting CL terminology in this regard should mean that
>> we would drop the terminology used so far for Emacs "packages".

It would be easier on the random user, but as I've shown above, once you
have packages, there's no confusion possible amongst the different kind
of packages.


>> An argument can be made that both uses of the word "package" are
>> somewhat unfortunate.

Definitely.


> I am trying to make a namespace system that would be backwards
> compatible with Emacs and yet encourage future good behaviour.
>
> CommonLisp terminology or compatibility is not a major aim of mine.

That's unfortunate.  This leads to a well known route, where ten or
twenty years, hundreds of thousands of users curse you and have to
proceed with a new round of standardization of a common common lisp. 


In four words: it's plain dumb.


-- 
__Pascal Bourguignon__                     http://www.informatimago.com/
A bad day in () is better than a good day in {}.  
You know you've been lisping too long when you see a recent picture of George 
Lucas and think "Wait, I thought John McCarthy was dead!" -- Dalek_Baldwin




reply via email to

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