From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: =?UTF-8?Q?Elias_M=C3=A5rtenson?= Newsgroups: gmane.emacs.devel Subject: Re: Emacs Lisp's future Date: Wed, 12 Oct 2016 01:55:09 +0800 Message-ID: References: <87wq97i78i.fsf@earlgrey.lan> <86k2dk77w6.fsf@molnjunk.nocrew.org> <642fd4b4-8b1c-a537-5a5f-6940691ec4b9@gmail.com> <861szo4zgq.fsf@gko.net> <86wphg2tpk.fsf@gko.net> <87eg3nwmu4.fsf@mbork.pl> <9707a440-fb03-9d0c-11f7-7bfe6cbebb6c@gmail.com> <87d1j7we20.fsf@mbork.pl> <4cd72094-babe-e918-ab5f-49226731164d@gmail.com> <420aba76-4837-0fdf-6416-8c7dbf5fc4e6@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a11377dbae8d4e3053e9a9339 X-Trace: blaine.gmane.org 1476208595 21800 195.159.176.226 (11 Oct 2016 17:56:35 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 11 Oct 2016 17:56:35 +0000 (UTC) Cc: emacs-devel To: =?UTF-8?B?Q2zDqW1lbnQgUGl0LS1DbGF1ZGVs?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Oct 11 19:56:31 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bu1HN-0000YN-7H for ged-emacs-devel@m.gmane.org; Tue, 11 Oct 2016 19:55:53 +0200 Original-Received: from localhost ([::1]:57279 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bu1HL-0006I5-WC for ged-emacs-devel@m.gmane.org; Tue, 11 Oct 2016 13:55:52 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44966) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bu1Gj-0006Hn-R0 for emacs-devel@gnu.org; Tue, 11 Oct 2016 13:55:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bu1Gh-00037Z-Ls for emacs-devel@gnu.org; Tue, 11 Oct 2016 13:55:12 -0400 Original-Received: from mail-qt0-x229.google.com ([2607:f8b0:400d:c0d::229]:36364) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bu1Gh-00037H-GL for emacs-devel@gnu.org; Tue, 11 Oct 2016 13:55:11 -0400 Original-Received: by mail-qt0-x229.google.com with SMTP id m5so1630184qtb.3 for ; Tue, 11 Oct 2016 10:55:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=J8PrIXTQvhjaAeXkvc7mkLypD/V4JR8yD9E5NIicaNk=; b=f7WgVRQUeBepLMSbCf0KX0CN4z+NToWi0++ZTejaWlDas+PppIOlUNIx4dKOiWbydR gwNxfmD2kV7Q8gNBOYBgY/EV2Kf4taDUcdrR4cfnqsaxtg+Ji9ACSx7xZS9bklsH33da ZVqndZUAfWa7R4KW28KFGftE+qmTdZmBLp8XLQbfD1vSiB3JwxIyZ7p6UNCJ33skeAb8 +8Lc2YgRb/BZ5VSI9CIgxJRnrpFXnPD7SLhUvDTrvlQmWA0XrdoHA4STiGPwK6JMS00z JNTbme5lt0tUj/a37lYPXgEh6vnULpwTIwq7eNjIPXujGlPTljajLUYFUZB5iKd7eMKW vd/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=J8PrIXTQvhjaAeXkvc7mkLypD/V4JR8yD9E5NIicaNk=; b=TkYbnbhUvP85XFlOczWwisEnAwxFc2w01qm7V5/rSVWwaUSom85i8AA/dYqsJYL+he +7ZDmrpASET0ybPeuMVFpIlqv1XCWtKxpRJgExz9s/gTrn+4gNtfTueuJjzgFsH3uAz+ 4T5HFpdsAlP8UKFYbp9e7/FzIs9iffqLzkZllumx5R9Zy/ILq6JhyCJs5LOBK2BsjILX +/tOrPI51uyA3I7YZVYhGWQW778/dvncie/UIkHrz8q9wadnjVL73d8AmtL+62xEYSGk 2ECWPZnB+rhnViOlcQbEYJh0ob65Qf3mHcNlQKxsT42XqxU7PkBXZsqeRffCvszXEBoK PzBQ== X-Gm-Message-State: AA6/9RmFBUVikZ+EA+PXS1Yj3U39mlvKvBq9Hz5xRQQcJBCx3WJdShjuoUE7lREJNfjvYjEjZ/unpFuTsDnYcQ== X-Received: by 10.237.33.225 with SMTP id m30mr4700359qtc.61.1476208510946; Tue, 11 Oct 2016 10:55:10 -0700 (PDT) Original-Received: by 10.55.55.2 with HTTP; Tue, 11 Oct 2016 10:55:09 -0700 (PDT) In-Reply-To: <420aba76-4837-0fdf-6416-8c7dbf5fc4e6@gmail.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:400d:c0d::229 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:208165 Archived-At: --001a11377dbae8d4e3053e9a9339 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 11 October 2016 at 23:10, Cl=C3=A9ment Pit--Claudel wrote: > On 2016-10-11 10:54, Elias M=C3=A5rtenson wrote: > > > All of these tools have the problem that it's difficult to tell what > > part of a symbol is its "namespace". How do you tell the difference > > between the symbols "foo-bar" without a namespace, or "bar" with > > namespace "foo"? > > Indeed. Have you had this problem in practice, though? > That depends on how you define "having the problem". I don't use automated tools (such as nameless) partly because I find it somewhat hackish. I have been confused about it though. > It's generally sufficient to look at the name of the file that declares > that function. For example, gnu-apl-interactive-mode presumably lives in > gnu-apl.el. If not, then you can set a file-local variable indicating wh= at > the library's prefix is. > It actually lives in a file called gnu-apl-interactive.el. > > I guess I'm just curious as to why a separate symbol isn't used? : > > sounds good, and gnu-apl:interactive-mode would be much more clear. > > Automated tools would also be able to make more sense out of symbol > > names. > > nameless uses ':' for display (and '::' for private members), indeed. > Some packages use / (yas/, for example) Presumably they do this because they agree with me that overloading the use of the - character for both word separation and namespace indicator is not optimal. The use of multiple different variations is even worse (which is why I, even though I don't agree with the practice of using - and --, conform to it). I'm merely trying to put the attention on this, to gauge just how many people agree with me. I suspect that not enough does. I still want to summarise what I'd like to see: Use : (or some other character other than -) to separate namespace and name. Use :: (or something else) to indicate private symbols. Then, standardised tooling in Emacs that would handle this convention could come later (as in something like nameless, or perhaps an extension to the reader to handle it). In other words: I think that as long as the character overloading problem is fixed and a standardised method is promoted, creating tools that implement pretty much everything people want from a namespace/package system can be implemented on top of this convention. Elias --001a11377dbae8d4e3053e9a9339 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On 1= 1 October 2016 at 23:10, Cl=C3=A9ment Pit--Claudel <clement.pit@gmail.= com> wrote:
On 2016-10-11 10:54, Elias M=C3=A5rtenson wrote:
= =C2=A0
> All of t= hese tools have the problem that it's difficult to tell what
> part of a symbol is its "namespace". How do you tell the dif= ference
> between the symbols "foo-bar" without a namespace, or "= bar" with
> namespace "foo"?

Indeed.=C2=A0 Have you had this problem in practice, though?

That depends on how you define "having the probl= em". I don't use automated tools (such as nameless) partly because= I find it somewhat hackish. I have been confused about it though.
=C2=A0
It's ge= nerally sufficient to look at the name of the file that declares that funct= ion.=C2=A0 For example, gnu-apl-interactive-mode presumably lives in gnu-ap= l.el.=C2=A0 If not, then you can set a file-local variable indicating what = the library's prefix is.

It actuall= y lives in a file called gnu-apl-interactive.el.
=C2=A0
> I guess I'm just curious as to why a separate symbol isn't use= d? :
> sounds good, and gnu-apl:interactive-mode would be much more clear. > Automated tools would also be able to make more sense out of symbol > names.

nameless uses ':' for display (and '::' for private members= ), indeed.=C2=A0 Some packages use / (yas/, for example)
<= br>
Presumably they do this because they agree with me that overl= oading the use of the - character for both word separation and namespace in= dicator is not optimal. The use of multiple different variations is even wo= rse (which is why I, even though I don't agree with the practice of usi= ng - and --, conform to it).

I'm merely trying= to put the attention on this, to gauge just how many people agree with me.= I suspect that not enough does.

I still want to s= ummarise what I'd like to see: Use : (or some other character other tha= n -) to separate namespace and name. Use :: (or something else) to indicate= private symbols. Then, standardised tooling in Emacs that would handle thi= s convention could come later (as in something like nameless, or perhaps an= extension to the reader to handle it).

In other w= ords: I think that as long as the character overloading problem is fixed an= d a standardised method is promoted, creating tools that implement pretty m= uch everything people want from a namespace/package system can be implement= ed on top of this convention.

Elias
--001a11377dbae8d4e3053e9a9339--