From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Pascal J. Bourguignon" Newsgroups: gmane.emacs.devel Subject: Re: CommonLisp namespace system (was Re: adding namespaces to emacs-lisp (better elisp?)) Date: Fri, 26 Jul 2013 23:06:03 +0200 Organization: Informatimago Message-ID: <877ggd2fr8.fsf@informatimago.com> References: <874nbh2z3y.fsf@ferrier.me.uk> <87y58t1cih.fsf_-_@ferrier.me.uk> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1374872804 25180 80.91.229.3 (26 Jul 2013 21:06:44 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 26 Jul 2013 21:06:44 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jul 26 23:06:46 2013 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1V2pDp-0000K8-49 for ged-emacs-devel@m.gmane.org; Fri, 26 Jul 2013 23:06:45 +0200 Original-Received: from localhost ([::1]:55268 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V2pDo-0005W6-Ik for ged-emacs-devel@m.gmane.org; Fri, 26 Jul 2013 17:06:44 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37004) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V2pDj-0005S4-Dc for emacs-devel@gnu.org; Fri, 26 Jul 2013 17:06:40 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V2pDh-00006Q-UD for emacs-devel@gnu.org; Fri, 26 Jul 2013 17:06:39 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:54995) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V2pDh-00006L-NR for emacs-devel@gnu.org; Fri, 26 Jul 2013 17:06:37 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1V2pDg-0000BQ-7p for emacs-devel@gnu.org; Fri, 26 Jul 2013 23:06:36 +0200 Original-Received: from amontsouris-651-1-252-173.w92-163.abo.wanadoo.fr ([92.163.83.173]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 26 Jul 2013 23:06:36 +0200 Original-Received: from pjb by amontsouris-651-1-252-173.w92-163.abo.wanadoo.fr with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 26 Jul 2013 23:06:36 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 85 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: amontsouris-651-1-252-173.w92-163.abo.wanadoo.fr Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAABlBMVEUAAAD///+l2Z/dAAAA oElEQVR4nK3OsRHCMAwF0O8YQufUNIQRGIAja9CxSA55AxZgFO4coMgYrEDDQZWPIlNAjwq9 033pbOBPtbXuB6PKNBn5gZkhGa86Z4x2wE67O+06WxGD/HCOGR0deY3f9Ijwwt7rNGNf6Oac l/GuZTF1wFGKiYYHKSFAkjIo1b6sCYS1sVmFhhhahKQssRjRT90ITWUk6vvK3RsPGs+M1RuR mV+hO/VvFAAAAABJRU5ErkJggg== X-Accept-Language: fr, es, en Importance: normal User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) Cancel-Lock: sha1:OTY0ODM1NDU2ZDBmMzMyZWRmZDhhNWEyYmI2ZTg5NDhlNDJmZWM4ZA== X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:162174 Archived-At: Nic Ferrier writes: > Drew Adams 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