From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Newsgroups: gmane.emacs.devel Subject: Re: Imports / inclusion of s.el into Emacs Date: Tue, 5 May 2020 22:48:45 +0100 Message-ID: References: <0c88192c-3c33-46ed-95cb-b4c6928016e3@default> <02922A76-29E2-46EA-9D99-83421BAC5E43@icloud.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="126640"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Richard Stallman , Emacs developers , Stefan Monnier , Dmitry Gutov , Eli Zaretskii , Drew Adams To: =?UTF-8?B?7KGw7ISx67mI?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue May 05 23:50:07 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jW5S3-000Wsm-H4 for ged-emacs-devel@m.gmane-mx.org; Tue, 05 May 2020 23:50:07 +0200 Original-Received: from localhost ([::1]:35998 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jW5S2-00059y-Jk for ged-emacs-devel@m.gmane-mx.org; Tue, 05 May 2020 17:50:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:33034) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jW5Qy-0004Hl-BO for emacs-devel@gnu.org; Tue, 05 May 2020 17:49:00 -0400 Original-Received: from mail-il1-x12d.google.com ([2607:f8b0:4864:20::12d]:40316) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jW5Qx-0006r0-0s; Tue, 05 May 2020 17:49:00 -0400 Original-Received: by mail-il1-x12d.google.com with SMTP id e8so3771459ilm.7; Tue, 05 May 2020 14:48:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=F8dylETm1lyw/Eb7QbgoXvm5lqDF+VDS8NsZOTee5Y8=; b=KW3E+wXw6Y0xvnjP9A9z6yGluV6Ikso1+/9iaej6X2W9sC/M+tRWTab812wgz2FpzR im2mE/PCW2WzDV6dRKPbwrYayuHqjTulmHjJxThtC76ksHs3D6m7b4VJeMZwY4uB/y+v xkDPeBNbG59j4G6/oVqVxN/W7R2rwlt9+sY5OTB34odGwMsrgokcMkUvY6DZFklDlT29 7SEKVNZTVJC+11uTjcP0NJr+9MtFh73sB7JUlPQVzUpXHShtZoWPN4djvJOcprW5/Dsm N2B+eSpYTgeo1ncm2JRE9+l5QFiBWYhT/JZa9gZo3C2bFom2owh0GFuLFaMlGdpb+CNb V+ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=F8dylETm1lyw/Eb7QbgoXvm5lqDF+VDS8NsZOTee5Y8=; b=olHVC3VGbY3+BV7APeqFncIbKBwdhYrnHvCXDFCZ7sf4PhVtkwH2xcC193+mD/EDON tId+jw7qcXyASmcRuWrVvfHk3ttgUSWr9w+jbtrLB4JR3B7dd9R+2bTPvqDjdOlBxIOH uM79WzZXRmKu+SPOj8zU0hg0AsdnufWO51HUdWPkll6dXDMYzlMrZnGKAeZfhFspvwPH yOPxfvGjV/V793C+o0fGuQbHRZ0vLT33YujbJlZU3LQkYuyCLxmVwuogRvze6Ld6TsnT Eq2yBqjaO63py+IurzGaDHPwQVdlExynV/Rd6uqDV+hcc1D3rIHw1ELmhHiwSuJLdnxp XKhg== X-Gm-Message-State: AGi0PuYS5dMV2eDPMnZLVrbU3hFoEPhLo49nvmBI35bUbSSlSwL/BwzQ iCItUZYhtF7qsiZD8HcsnolM9i1wh9AMDh0ZLNo= X-Google-Smtp-Source: APiQypIFZKZTheGYkVv1TiE7VBqqvau4G9Mc7PZYqg7HS9adNfSt9i2OJ04bA9tJb70s3suqNv5afZNh84zmVXpvKEQ= X-Received: by 2002:a92:858b:: with SMTP id f133mr5294837ilh.97.1588715336398; Tue, 05 May 2020 14:48:56 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2607:f8b0:4864:20::12d; envelope-from=joaotavora@gmail.com; helo=mail-il1-x12d.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, FROM_EXCESS_BASE64=0.979, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:249052 Archived-At: On Tue, May 5, 2020 at 5:47 PM =EC=A1=B0=EC=84=B1=EB=B9=88 wrote: > > Jo=C3=A3o T=C3=A1vora =EC=9E=91=EC=84=B1: > > > On Tue, May 5, 2020 at 2:55 PM =EC=A1=B0=EC=84=B1=EB=B9=88 wrote: > > > >> I=E2=80=99m not saying only about completion - I was thinking about th= ings > >> like how C-h f isn=E2=80=99t really useful for function finding and we > >> should use C-h a and C-h d. > > > > But I'm saying it _is_ useful. It IS useful to me. With flex. > > Yes, that=E2=80=99s true, but flex, while is super useful (and I=E2=80=99= m grateful to you > developing it), is still a hack that exists because the function names do= n=E2=80=99t > have good rules. (Why should everybody use flex, just to find functions?) Good question. Because one can use flex for every idiosyncratically named out there, which is the majority, not just functions, or at least not just the very small subset of functions we use in the core. Again, it's languages with built-in namespaces or implicit OO namespaces like Ruby, C++ , Java, etc that give you the illusion that things can be like that in Lisp. But they can't. _Especially_ in Elisp, which has a big shared namespace. (BTW I very much appreciate that you like flex. You're welcome.) > However, IMO the fact that you can now search functions in C-h f a bit ea= sily > doesn't mean that the functions can be less consistent. I'm not proposing we make new name inconsistent. I'm proposing we don't touch the names we've already done. Or that we touch them very cautiously. > > For new domains, surely? > -------------------------------------------------------------------------= ----- > Well, Elisp will gain some more core APIs in the future, so I was thinkin= g > about that, but except from package prefixes, wouldn=E2=80=99t it be simi= lar? OK, a new core API (say thread-support, or emoji-support) is a new "domain" (again, it is kinda hard to draw the line because one big namespace). > How do you think about this: > > > I think some preliminary conventions that Elisp already follows is that= the > > - scheme is for actions on the object like rename-file = or > > clear-string, and - scheme is for getting properties = of > > the > > object like string-width and file-name-extension. (I=E2=80=99m not cons= idering > > polymorphic ones.) > > > > But then there are exceptions, like string-trim (which should then be > > trim-string) or string-join (which should then be join-string). It's not bad. You could program Common Lisp with that, but in Elisp goes against Stefan's rule which is: always prefix by the name of the file. But even if we ignore it, it's hard. Say I'm writing a library for music files, a music.el. I want a function to play a piece of music. Should I name it play-music or music-play or music-play-music? Whoever wrote package-list-packages, package-menu-hide-package, package-install, describe-package, list-packages must have had nightmares with this. I shiver every time I see those names popup in my minibufer. A true story: some people in CL like to suffix all slot accessors with "-OF". NAME-OF, TYPE-OF, etc. I did that for a while, but now I don't do it. It's just silly. Once you start doing it, it's disappointing not to see it consistently applied everywhere. You can't "tame" names in Lisp, is my feeling. Jo=C3=A3o