unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Pascal J. Bourguignon" <pjb@informatimago.com>
To: emacs-devel@gnu.org
Subject: Re: CommonLisp namespace system (was Re: adding namespaces to emacs-lisp (better elisp?))
Date: Fri, 26 Jul 2013 23:06:03 +0200	[thread overview]
Message-ID: <877ggd2fr8.fsf@informatimago.com> (raw)
In-Reply-To: 87y58t1cih.fsf_-_@ferrier.me.uk

Nic Ferrier <nferrier@ferrier.me.uk> writes:

> Drew Adams <drew.adams@oracle.com> 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




  parent reply	other threads:[~2013-07-26 21:06 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-26 14:08 adding namespaces to emacs-lisp (better elisp?) Nic Ferrier
2013-07-26 14:34 ` Drew Adams
2013-07-26 17:01   ` Pascal J. Bourguignon
2013-07-26 17:01   ` CommonLisp namespace system (was Re: adding namespaces to emacs-lisp (better elisp?)) Nic Ferrier
2013-07-26 17:19     ` Drew Adams
2013-07-26 18:26       ` Sebastian Wiesner
2013-07-26 18:53         ` Drew Adams
2013-07-26 21:08         ` Pascal J. Bourguignon
2013-07-26 18:23     ` Stefan Monnier
2013-07-26 18:32       ` Nic Ferrier
2013-07-26 18:45     ` Tom Tromey
2013-07-26 18:58       ` Drew Adams
2013-07-26 19:06         ` Nic Ferrier
2013-07-26 20:46           ` CommonLisp namespace system Lars Brinkhoff
2013-07-26 20:57             ` Drew Adams
2013-07-26 21:47               ` Nic Ferrier
2013-07-29 17:31                 ` Lars Brinkhoff
2013-07-26 20:57           ` CommonLisp namespace system (was Re: adding namespaces to emacs-lisp (better elisp?)) Drew Adams
2013-07-27  7:17           ` Richard Stallman
2013-07-27  8:13             ` Nic Ferrier
2013-07-27 11:43               ` Bastien
2013-07-27 12:00                 ` David Engster
2013-07-27 16:56                   ` Nic Ferrier
2013-07-27 23:52               ` Richard Stallman
2013-07-28  7:22                 ` Nic Ferrier
2013-07-28  8:18                   ` Jambunathan K
2013-07-28 12:10                   ` Richard Stallman
2013-07-28 13:48                     ` Nic Ferrier
2013-07-29 10:12                       ` Richard Stallman
2013-07-29 10:45                         ` Nic Ferrier
2013-07-30  0:31                           ` Richard Stallman
2013-07-27  9:37             ` CommonLisp namespace system Lars Brinkhoff
2013-07-26 19:42         ` CommonLisp namespace system (was Re: adding namespaces to emacs-lisp (better elisp?)) Drew Adams
2013-07-26 21:26       ` Juanma Barranquero
2013-07-26 21:06     ` Pascal J. Bourguignon [this message]
2013-07-26 21:44       ` Nic Ferrier
2013-07-27  7:16   ` adding namespaces to emacs-lisp (better elisp?) Richard Stallman
2013-07-26 15:43 ` Stefan Monnier
2013-07-26 16:56   ` Nic Ferrier
2013-07-26 18:18     ` Stefan Monnier
2013-07-26 19:00       ` Nic Ferrier
2013-07-26 20:59         ` Stefan Monnier
2013-07-26 21:43           ` Nic Ferrier
2013-07-26 21:59             ` Drew Adams
2013-07-26 22:21             ` Stefan Monnier
2013-07-26 22:33               ` Nic Ferrier
2013-07-27  0:51                 ` Stefan Monnier
2013-07-27  8:27                   ` Nic Ferrier
2013-07-27 14:12                     ` Stefan Monnier
2013-07-27 16:17                       ` Nic Ferrier
2013-07-27 17:28                         ` Stefan Monnier
2013-07-27 10:35                   ` Pascal J. Bourguignon
2013-07-26 22:00           ` Drew Adams
2013-07-27  0:49             ` Stefan Monnier
2013-07-27  1:13               ` Drew Adams
2013-07-27  7:02               ` Lars Brinkhoff
2013-07-27 10:33                 ` Pascal J. Bourguignon
2013-07-31  6:48                   ` Lars Brinkhoff
2013-07-27 10:31               ` Pascal J. Bourguignon
2013-07-27 14:14                 ` Stefan Monnier
2013-07-27 16:43                   ` Drew Adams
2013-07-26 17:21   ` Davis Herring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877ggd2fr8.fsf@informatimago.com \
    --to=pjb@informatimago.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).