unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Philippe Vaucher <philippe.vaucher@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: adam@alphapapa.net, kyle@kyleam.com,
	Jonas Bernoulli <jonas@bernoul.li>,
	monnier@iro.umontreal.ca, Emacs developers <emacs-devel@gnu.org>
Subject: Re: [ELPA] New package: transient
Date: Wed, 29 Apr 2020 17:25:09 +0200	[thread overview]
Message-ID: <CAGK7Mr50tQ+DeWvxT7O6E7Pm0jg7TFCxhS-iMeW03pgBcp8Lhw@mail.gmail.com> (raw)
In-Reply-To: <837dxyz83p.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 3071 bytes --]

>
> >  > *
> https://www.gnu.org/software/emacs/manual/html_node/elisp/Association-Lists.html
> sometimes
> >  assoc,
> >  >  alist-get, assq, copy-alist. How am I supposed to use `C-h f alist
> TAB` to discover the function I
> >  want? I
> >  >  can't, I have to go to that webpage and read it all.
> >
> >  I think "C-h d alist RET" is your friend.
> >
> > You miss the central point of my argument.
>
> I'm sorry to have missed that, but all I had was what you wrote:
>
>   How am I supposed to use `C-h f alist TAB` to discover the function
>   I want?
>

I think you're not noticing that in the list above "assq" and "assoc" are
not findable using "alist".


> The problem is not that the doc is hard to find, it's that I *have* to
> > find it to know which are the related functions.
>
> If "alist" is not a keyword that could be used in this case, then what
> is? "associaion list"? something else?  When one tries to discover
> functionality, one must start with something, we cannot start with
> nothing, can we?
>

No no, I *want* to use "alist" but cannot because it's not properly
namespaced.



> It is much easier for the mind to think in terms of namespaces, here are
> examples from other languages:
> >
> > * https://clojure.github.io/clojure/clojure.string-api.html all string
> functions stored under string
> > * http://www.cplusplus.com/reference/cstring/ almost all string
> manipulation function start with "str"
> > * https://ruby-doc.org/stdlib-2.4.1/libdoc/fileutils/rdoc/FileUtils.html
> all file manipulation function are stored in
> >  FileUtils::
> >
> > I could go on but I think you should be able to understand my examples.
>
> I understand the examples, I just don't think you can expect the world
> to be so simple.  <cstring> in C++ has just 20 functions, and if you
> need to work with multibyte strings, you won't find them there, they
> are in <cwchar>, which doesn't even have "string" in its name.
>

Focusing on exceptions is again avoiding the central argument.


Let's take a simple example: shell-command-to-string.  To which
> "namespace" it should belong, in your opinion?  It is relevant to
> "shell", "commands", "programs", and "strings".
>

Under the "shell-" namespace is fine, the primary goal of this api is to
run a shell command.

Anyway, to steelman your argument yes, for some fonctions it might be
complicated, especially generic ones. There are various solutions to this
but the main factor in finding them is to focus on the main argument of my
proposal: there are lots of domains where my proposal makes a lot of sense:
process-*, file-*, directory-*, buffer-*, etc. You could start by
acknowledging this. For the generic fonctions, we can either namespace them
under generic-*, or alias them for each namespace like "list-lenght",
"vector-length" etc.

We could also not touch them at all and improve the rest where everyone
agrees first, and focus on theses corner cases later.

I am sure that if other langages solved it we can too, let's not be in the
"perfect solution" bias ;-)

Kind regards,
Philippe

[-- Attachment #2: Type: text/html, Size: 5213 bytes --]

  reply	other threads:[~2020-04-29 15:25 UTC|newest]

Thread overview: 238+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-28 13:01 [ELPA] New package: transient Jonas Bernoulli
     [not found] ` <jwv4kt3d1r8.fsf-monnier+emacs@gnu.org>
     [not found]   ` <87v9ljo5d0.fsf@bernoul.li>
     [not found]     ` <jwvh7x3bfoe.fsf-monnier+emacs@gnu.org>
     [not found]       ` <87ftcnxu5m.fsf@bernoul.li>
2020-04-29  8:29         ` Philippe Vaucher
2020-04-29  9:26           ` Eli Zaretskii
2020-04-29  9:50             ` Philippe Vaucher
2020-04-29 10:05               ` Eli Zaretskii
2020-04-29 10:17                 ` tomas
2020-04-29 10:33                   ` Eli Zaretskii
2020-04-29 10:52                     ` tomas
2020-04-30 12:44                       ` Arthur Miller
2020-04-30 13:28                         ` tomas
2020-04-30 14:26                           ` Namespacing Emacs's core (was: [ELPA] New package: transient) Stefan Monnier
2020-04-30 15:08                             ` tomas
2020-04-30 18:23                             ` Philippe Vaucher
2020-04-30 18:56                               ` Philippe Vaucher
2020-04-30 19:02                                 ` tomas
2020-04-30  2:30                   ` [ELPA] New package: transient Richard Stallman
2020-05-01  2:49                     ` Richard Stallman
2020-05-01  6:33                       ` Eli Zaretskii
2020-05-02  2:24                         ` Richard Stallman
2020-05-02  7:04                           ` Eli Zaretskii
2020-05-02  8:09                             ` Philippe Vaucher
2020-05-02  9:05                               ` Eli Zaretskii
2020-05-02  9:19                                 ` Eli Zaretskii
2020-05-02 10:11                                   ` Philippe Vaucher
2020-05-02 10:33                                     ` Eli Zaretskii
2020-05-02 10:56                                       ` Philippe Vaucher
2020-05-02 10:59                                         ` Philippe Vaucher
2020-05-02 11:09                                         ` Use elisp--xref-backend in *Apropos* and *Help* (Was Re: [ELPA] New package: transient) João Távora
2020-05-02 14:03                                           ` Stefan Monnier
2020-05-03  2:08                                           ` Dmitry Gutov
2020-05-02 11:22                                         ` [ELPA] New package: transient Eli Zaretskii
2020-05-02 11:52                                           ` Philippe Vaucher
2020-05-02 12:08                                             ` Eli Zaretskii
2020-05-02 12:09                                           ` 조성빈
2020-05-02 12:14                                             ` Eli Zaretskii
2020-05-02 12:22                                               ` 조성빈
2020-05-02 12:54                                                 ` Eli Zaretskii
2020-05-02 17:33                                     ` Drew Adams
2020-05-04  3:07                                       ` Richard Stallman
2020-05-04 16:04                                         ` Drew Adams
2020-05-02  9:53                                 ` Philippe Vaucher
2020-05-02 10:39                                   ` João Távora
2020-05-02 11:10                                     ` Philippe Vaucher
2020-05-02 11:17                                       ` João Távora
2020-05-02 11:39                                         ` Philippe Vaucher
2020-05-02 12:02                                           ` João Távora
2020-05-02 12:11                                             ` 조성빈
2020-05-02 12:20                                               ` João Távora
2020-05-02 12:36                                                 ` 조성빈
2020-05-02 12:59                                                   ` João Távora
2020-05-02 13:02                                                   ` Eli Zaretskii
2020-05-02 13:12                                                     ` João Távora
2020-05-02 12:28                                               ` tomas
2020-05-02 12:22                                           ` tomas
2020-05-03  3:43                                           ` Richard Stallman
2020-05-03  4:24                                             ` Stefan Monnier
2020-05-04  3:08                                               ` Richard Stallman
2020-05-02 17:48                                         ` Drew Adams
2020-05-02 14:50                                     ` Dmitry Gutov
2020-05-02 14:57                                       ` João Távora
2020-05-02 17:42                                     ` Drew Adams
2020-05-02 10:54                                   ` Eli Zaretskii
2020-05-02 11:47                                     ` Philippe Vaucher
2020-05-02 12:04                                       ` Eli Zaretskii
2020-05-02 14:56                                     ` Dmitry Gutov
2020-05-02 15:37                                       ` Eli Zaretskii
2020-05-02 15:51                                         ` Dmitry Gutov
2020-05-02 16:09                                           ` Eli Zaretskii
2020-05-02 13:59                                 ` Stefan Monnier
2020-05-02 14:10                                   ` Philippe Vaucher
2020-05-02 14:12                                   ` Eli Zaretskii
2020-05-02 14:26                                     ` Philippe Vaucher
2020-05-02 15:29                                       ` Eli Zaretskii
2020-05-02 15:43                                         ` Philippe Vaucher
2020-05-02 16:05                                           ` Eli Zaretskii
2020-05-02 16:12                                             ` Philippe Vaucher
2020-05-02 16:26                                               ` Eli Zaretskii
2020-05-02 16:42                                                 ` Philippe Vaucher
2020-05-02 18:27                                       ` Drew Adams
2020-05-03  3:43                                       ` Richard Stallman
2020-05-03  7:47                                         ` Philippe Vaucher
2020-05-03 19:46                                           ` Drew Adams
2020-05-03 21:18                                             ` Stefan Monnier
2020-05-03 22:04                                               ` João Távora
2020-05-04  0:41                                               ` Drew Adams
2020-05-04  3:09                                           ` Richard Stallman
2020-05-02 16:48                                     ` Stefan Monnier
2020-05-02 17:17                                       ` Eli Zaretskii
2020-05-02 18:10                                         ` 조성빈
2020-05-02 18:30                                           ` Eli Zaretskii
2020-05-02 18:37                                             ` 조성빈
2020-05-02 18:45                                               ` Eli Zaretskii
2020-05-02 19:12                                                 ` 조성빈
2020-05-02 19:44                                               ` Drew Adams
2020-05-02 18:32                                           ` Yuan Fu
2020-05-02 20:41                                             ` Stefan Monnier
2020-05-02 20:39                                         ` Stefan Monnier
2020-05-02 21:00                                           ` João Távora
2020-05-02 21:53                                             ` Drew Adams
2020-05-02 22:13                                               ` João Távora
2020-05-04  3:07                                             ` Richard Stallman
2020-05-02 21:27                                           ` Philippe Vaucher
2020-05-03 14:45                                           ` Eli Zaretskii
2020-05-03 15:03                                             ` João Távora
2020-05-03 15:11                                               ` Joost Kremers
2020-05-03 15:28                                               ` C-h f and C-h v (was: [ELPA] New package: transient) Stefan Monnier
2020-05-03 17:41                                                 ` João Távora
2020-05-03 17:44                                                   ` João Távora
2020-05-03 16:21                                               ` [ELPA] New package: transient Eli Zaretskii
2020-05-03 15:17                                             ` Stefan Monnier
2020-05-03 16:32                                               ` Eli Zaretskii
2020-05-03 21:13                                                 ` Stefan Monnier
2020-05-04 13:52                                                   ` Eli Zaretskii
2020-05-04 15:14                                                     ` Stefan Monnier
2020-05-04 15:55                                                       ` Eli Zaretskii
2020-05-04 18:41                                                         ` Stefan Monnier
2020-05-04 18:58                                                           ` Eli Zaretskii
2020-05-03 16:23                                             ` Dmitry Gutov
2020-05-03 16:47                                               ` Eli Zaretskii
2020-05-03 17:04                                                 ` Dmitry Gutov
2020-05-03 17:29                                                   ` Eli Zaretskii
2020-05-03 17:42                                                     ` Dmitry Gutov
2020-05-03 18:58                                                       ` Eli Zaretskii
2020-05-04  0:04                                                         ` Dmitry Gutov
2020-05-03 19:49                                                       ` João Távora
2020-05-03 23:47                                                         ` Dmitry Gutov
2020-05-04  1:01                                                           ` João Távora
2020-05-04  1:28                                                             ` Dmitry Gutov
2020-05-04 18:05                                                               ` João Távora
2020-05-04 14:24                                                             ` Eli Zaretskii
2020-05-04 15:23                                                               ` Stefan Monnier
2020-05-04 16:00                                                                 ` Eli Zaretskii
2020-05-04 17:31                                                               ` Drew Adams
2020-05-04  1:13                                                     ` Jean-Christophe Helary
2020-05-04 14:22                                                       ` Eli Zaretskii
2020-05-05  8:23                                                         ` Jean-Christophe Helary
2020-05-05 14:48                                                           ` Eli Zaretskii
2020-05-05 15:39                                                             ` Jean-Christophe Helary
2020-05-05 16:13                                                               ` Eli Zaretskii
2020-05-05 16:33                                                                 ` Jean-Christophe Helary
2020-05-05 15:44                                                             ` Jean-Christophe Helary
2020-05-05 16:15                                                               ` Eli Zaretskii
2020-05-05 16:40                                                                 ` Jean-Christophe Helary
2020-05-05  8:27                                                         ` Jean-Christophe Helary
2020-05-03 21:04                                                 ` Stefan Monnier
2020-05-04 13:51                                                   ` Eli Zaretskii
2020-05-03 16:50                                               ` João Távora
2020-05-03 16:54                                                 ` Eli Zaretskii
2020-05-03 17:43                                                   ` João Távora
2020-05-04  3:08                                                 ` Richard Stallman
2020-05-02 18:57                                       ` Drew Adams
2020-05-02 19:15                                         ` 조성빈
2020-05-02 19:59                                           ` Drew Adams
2020-05-02 20:47                                         ` Stefan Monnier
2020-05-02 14:22                                   ` João Távora
2020-04-29 13:12                 ` Philippe Vaucher
2020-04-29 13:42                   ` tomas
2020-04-29 13:50                     ` Philippe Vaucher
2020-04-29 17:03                       ` Robert Pluim
2020-04-29 19:25                         ` Philippe Vaucher
2020-04-29 17:51                       ` Clément Pit-Claudel
2020-04-29 19:24                         ` Philippe Vaucher
2020-04-29 13:53                     ` Stefan Kangas
2020-04-29 14:01                       ` tomas
2020-04-29 14:20                   ` Eli Zaretskii
2020-04-29 15:25                     ` Philippe Vaucher [this message]
2020-04-30 18:13                       ` Dmitry Gutov
2020-04-30 18:19                         ` Philippe Vaucher
2020-04-30 18:41                           ` Dmitry Gutov
2020-04-30 19:26                             ` Philippe Vaucher
2020-04-30 19:34                               ` Philippe Vaucher
2020-04-30 22:47                                 ` Dmitry Gutov
2020-04-30 22:20                               ` Dmitry Gutov
2020-05-01  3:13                                 ` Stefan Monnier
2020-05-01  3:15                                 ` Stefan Monnier
2020-05-01 15:36                                   ` Dmitry Gutov
2020-05-01 16:05                                     ` Philippe Vaucher
2020-05-02  2:27                               ` Richard Stallman
2020-05-02  7:07                                 ` Eli Zaretskii
2020-05-02  8:06                                 ` Philippe Vaucher
2020-05-02 17:08                                   ` Drew Adams
2020-04-30 19:31                             ` Stefan Monnier
2020-04-29 17:27                   ` Alan Mackenzie
2020-04-29 19:01                     ` tomas
2020-04-29 19:31                     ` Philippe Vaucher
2020-04-30 11:51                       ` Alan Mackenzie
2020-04-30 12:38                         ` tomas
2020-04-30 17:30                           ` Dmitry Gutov
2020-04-30 17:53                             ` Philippe Vaucher
2020-04-30 18:42                               ` tomas
2020-04-30 18:41                             ` tomas
2020-04-30 18:14                           ` Philippe Vaucher
2020-04-30 18:58                             ` tomas
2020-04-30 19:13                               ` Philippe Vaucher
2020-04-30 19:33                                 ` tomas
2020-04-30 20:54                                 ` Alan Mackenzie
2020-04-30 22:46                                   ` chad
2020-05-02  2:27                                     ` Richard Stallman
2020-05-01  8:23                                   ` Philippe Vaucher
2020-05-02  2:24                                   ` Richard Stallman
2020-04-30 22:04                               ` Keeping it kind Clément Pit-Claudel
2020-05-01  7:17                                 ` tomas
2020-05-01  8:31                                 ` Philippe Vaucher
2020-05-02  2:24                                   ` Richard Stallman
2020-05-02  2:27                                 ` Richard Stallman
2020-05-01  2:51                       ` [ELPA] New package: transient Richard Stallman
2020-04-29 20:02                     ` Clément Pit-Claudel
2020-04-30  1:08                     ` Stefan Monnier
2020-04-29 13:19                 ` Philippe Vaucher
2020-04-29 14:28                   ` Eli Zaretskii
2020-04-29 14:51                     ` Eli Zaretskii
2020-04-30  2:28                   ` Richard Stallman
2020-04-29 13:32               ` Stefan Monnier
2020-04-29 13:43                 ` Philippe Vaucher
2020-04-29 14:17                 ` Yuan Fu
2020-04-29 14:19                   ` Yuan Fu
2020-04-30  2:28                   ` Richard Stallman
2020-04-29 15:31                 ` Eli Zaretskii
2020-04-29 15:48                   ` Stefan Monnier
2020-04-29 16:05                     ` Drew Adams
2020-05-01 17:38                 ` João Távora
2020-05-01 18:03                   ` Stefan Monnier
2020-04-30  2:30               ` Richard Stallman
2020-04-29 14:56           ` Drew Adams
2020-04-29 12:52         ` Adam Porter
2020-04-30  2:29 ` Richard Stallman
2020-04-30 10:50   ` Phil Sainty
2020-05-01  2:52     ` Richard Stallman
2020-05-01  5:36       ` Phil Sainty
2020-05-02  2:25         ` Richard Stallman
2020-05-02  2:30           ` T.V Raman
2020-05-01 10:40       ` Kévin Le Gouguec
2020-05-01 15:16         ` Clément Pit-Claudel
2020-05-02  2:24           ` Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2020-04-30 11:43 Zhu Zihao
     [not found] <<87368npxw4.fsf@bernoul.li>
     [not found] ` <<jwv4kt3d1r8.fsf-monnier+emacs@gnu.org>
     [not found]   ` <<87v9ljo5d0.fsf@bernoul.li>
     [not found]     ` <<jwvh7x3bfoe.fsf-monnier+emacs@gnu.org>
     [not found]       ` <<87ftcnxu5m.fsf@bernoul.li>
     [not found]         ` <<CAGK7Mr52_xBMYnPTO4XZ5EqvMji0pKD_YmqKHQzVo2HMCXd0KA@mail.gmail.com>
     [not found]           ` <<83y2qezlpd.fsf@gnu.org>
     [not found]             ` <<CAGK7Mr57NeMeXk5kT4fqPUGP_C1y9g8XfL8S4oXN=w=Hy8MJEA@mail.gmail.com>
     [not found]               ` <<83tv12zjx1.fsf@gnu.org>
     [not found]                 ` <<CAGK7Mr7i6uMH1JRnj2E1hY5vSwiGkVwQARLHq0Q_wMn7aBKP9Q@mail.gmail.com>
     [not found]                   ` <<837dxyz83p.fsf@gnu.org>
     [not found]                     ` <<CAGK7Mr50tQ+DeWvxT7O6E7Pm0jg7TFCxhS-iMeW03pgBcp8Lhw@mail.gmail.com>
     [not found]                       ` <<978f970b-b5c2-bd83-39da-f632d069d7d5@yandex.ru>
     [not found]                         ` <<CAGK7Mr5-sYDJBWxeSE6VoAJkYxLgffDkJPRv9g7cd9qME0nLEw@mail.gmail.com>
     [not found]                           ` <<98ab19cf-680b-9cd2-7c42-89dd0b2f470a@yandex.ru>
     [not found]                             ` <<CAGK7Mr5Qu-4iKvZuWmA0uswUrmZYgQmv4Dw=CibRjwUk1PggUw@mail.gmail.com>
     [not found]                               ` <<E1jUhsZ-0006mV-Rb@fencepost.gnu.org>
     [not found]                                 ` <<83y2qau86i.fsf@gnu.org>
2020-05-02 16:51                                   ` Drew Adams
     [not found]                 ` <<20200429101755.GF24737@tuxteam.de>
     [not found]                   ` <<E1jTyxu-0008FM-LM@fencepost.gnu.org>
     [not found]                     ` <<E1jULk7-0007ZA-OQ@fencepost.gnu.org>
     [not found]                       ` <<838sicw4do.fsf@gnu.org>
     [not found]                         ` <<E1jUhpj-00064u-VY@fencepost.gnu.org>
     [not found]                           ` <<83zhaqu89z.fsf@gnu.org>
     [not found]                             ` <<CAGK7Mr48xznD4uc0zxDRqUrYGbsWU4dg2t_CfnpKipzV7_-xbg@mail.gmail.com>
     [not found]                               ` <<83sggiu2p9.fsf@gnu.org>
2020-05-02 17:16                                 ` Drew Adams
     [not found]                                 ` <<83r1w2u20y.fsf@gnu.org>
     [not found]                                   ` <<CAGK7Mr7z+L+1Ziptjvc8wBmZDooLfonuL3VOC8OGex+z1d7Oqg@mail.gmail.com>
     [not found]                                     ` <<83lfmatym6.fsf@gnu.org>
2020-05-02 17:36                                       ` Drew Adams

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=CAGK7Mr50tQ+DeWvxT7O6E7Pm0jg7TFCxhS-iMeW03pgBcp8Lhw@mail.gmail.com \
    --to=philippe.vaucher@gmail.com \
    --cc=adam@alphapapa.net \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=jonas@bernoul.li \
    --cc=kyle@kyleam.com \
    --cc=monnier@iro.umontreal.ca \
    /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).