From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Philippe Vaucher Newsgroups: gmane.emacs.devel Subject: Re: [ELPA] New package: transient Date: Wed, 29 Apr 2020 15:12:50 +0200 Message-ID: References: <87368npxw4.fsf@bernoul.li> <87v9ljo5d0.fsf@bernoul.li> <87ftcnxu5m.fsf@bernoul.li> <83y2qezlpd.fsf@gnu.org> <83tv12zjx1.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="0000000000001f1dd105a46db688" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="35890"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Adam Porter , Kyle Meyer , Jonas Bernoulli , Stefan Monnier , Emacs developers To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Apr 29 15:14:40 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 1jTmXw-0009DJ-Jr for ged-emacs-devel@m.gmane-mx.org; Wed, 29 Apr 2020 15:14:40 +0200 Original-Received: from localhost ([::1]:57882 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jTmXv-0004uA-JA for ged-emacs-devel@m.gmane-mx.org; Wed, 29 Apr 2020 09:14:39 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35084) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jTmWh-0002hY-CG for emacs-devel@gnu.org; Wed, 29 Apr 2020 09:13:23 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jTmWg-0000P6-Ki for emacs-devel@gnu.org; Wed, 29 Apr 2020 09:13:23 -0400 Original-Received: from mail-lj1-x230.google.com ([2a00:1450:4864:20::230]:34335) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jTmWe-0000Ie-4k; Wed, 29 Apr 2020 09:13:20 -0400 Original-Received: by mail-lj1-x230.google.com with SMTP id f11so2576670ljp.1; Wed, 29 Apr 2020 06:13:19 -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; bh=wWMYmE4Al8371HfqBl1PGm/8G5bqApqv2+SjFkgRMBQ=; b=BzM4MMR6iNZIM2iHp9AlWYWgLi+BmsObvyfoBH84IgY9IN0/aXE31pcJAgZTFU+N2S bWIi8xRE6W4JI4EdZmhsuFykTbT5dUuVoP+1Eelg7/eB5jajhk2FX48GZddd9s8uxciJ ffszs++TmjnQglNjGuR9CvyvXejjJIxZGFqVpsAgZGo6M5g2aSRZ1rsH4/uARaODJrqN vjzQIggF8h2tiIEoSRSNmhdGrB4+mSzvLVtdEV0fq03cv79VOuztEDCAO9h5wCLQv//b NzgtlRnwvDAFBFPmAe3EG2ZqsY1eRtL18VyMlqUMUuYnIz2xrmmWnWLA3rSKl6ORVmwb vl8A== 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; bh=wWMYmE4Al8371HfqBl1PGm/8G5bqApqv2+SjFkgRMBQ=; b=MmvzzHEwBbbPhgKF2Z8PL7rkx75Mt7YRIYK/2Fd6WACjNIC1I1iRWqCgCxPJVH+pyv PNWm5GWT7pFVyA6X2pUCCnsBxGER+10yMktQ0rmtp/c5T22FcgyOQEfPnewuBJgNU/yp 9nR6ynkyfMVlcrhjynyeUmkS/+WDZvBfYbRzgoTIy2Kns1FQD/A1PFld0U8K2kln3EJ4 ULpgTqYn/dEOgvB6iBiwtw1tukWkcWWukbgPMhj0cyR62KXqKBfUpU6GDis/v51mATYI 7GcUeHqlcdpq7g3B4X+3b4vVHe6rtGOKSKcjBz+Ow9Sc3TioqOtQQqRr8I6yHJ6kIude qGzg== X-Gm-Message-State: AGi0PubQxeZbv+VRzrSVCoBbR52C8TGgfttbA57MODlUgdlL1wlDjBXR Sq57fnFTrSoOhfJttlKgzcOGfVcNA7+DhPQYnPQYUDtkkDU= X-Google-Smtp-Source: APiQypLAmA3zWSVXOUtNyqMzoYZSu+3V2JaGMa53/cMpq3zdjs0eDzKXONwJeI46TPQAN239UjUo1uCyo4bEFteVjK4= X-Received: by 2002:a2e:9e97:: with SMTP id f23mr20828618ljk.228.1588165997435; Wed, 29 Apr 2020 06:13:17 -0700 (PDT) In-Reply-To: <83tv12zjx1.fsf@gnu.org> Received-SPF: pass client-ip=2a00:1450:4864:20::230; envelope-from=philippe.vaucher@gmail.com; helo=mail-lj1-x230.google.com X-detected-operating-system: by eggs.gnu.org: Error: [-] PROGRAM ABORT : Malformed IPv6 address (bad octet value). Location : parse_addr6(), p0f-client.c:67 X-Received-From: 2a00:1450:4864:20::230 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:248128 Archived-At: --0000000000001f1dd105a46db688 Content-Type: text/plain; charset="UTF-8" > > > * > 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. 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. 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. Once related functions are namespaced together, almost all tooling benefit from it. No need to provide a manual grouping the unrelated functions together, just document each function: - autocompletion can help you guess the right function. - searching for function names (C-h f) can help you find the right function. > > * > https://www.gnu.org/software/emacs/manual/html_node/elisp/List-Elements.html > sometimes named > > logically (nth, remove, append), sometimes named after implementation > detail (car, cdr), and no grouping > > at all so I can't `C-h f list TAB` > > Also, the 'i' command in Info. > > But you said you didn't want to read manuals, so I'm not sure why the > examples are from the manual. Again you strawman my argument. Try to understand my central point, and then reply to that instead of details of "how you do it right now and that works for you". Kind regards, Philippe --0000000000001f1dd105a46db688 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
> * https://www.gnu.org/software/emacs/manual/html_node/elisp/Association= -Lists.html sometimes assoc,
>=C2=A0 alist-get, assq, copy-alist. How am I supposed to use `C-h f ali= st TAB` to discover the function I want? I
>=C2=A0 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. The problem is not = that the doc is hard to find, it's that I *have* to find it to know whi= ch are the related functions.

It is much easier fo= r the mind to think in terms of namespaces, here are examples from other la= nguages:
I could go on but I think= you should be able to understand my examples.

Onc= e related functions are namespaced together, almost all tooling benefit fro= m it. No need to provide a manual grouping the unrelated functions together= , just document each function:
  • autocompletion can help yo= u guess the right function.
  • searching for function names (C-h f) ca= n help you find the right function.
=C2=A0
> * https://www.gnu.org/software/emacs/manual/html_no= de/elisp/List-Elements.html sometimes named
>=C2=A0 logically (nth, remove, append), sometimes named after implement= ation detail (car, cdr), and no grouping
>=C2=A0 at all so I can't `C-h f list TAB`

Also, the 'i' command in Info.

But you said you didn't want to read manuals, so I'm not sure why t= he
examples are from the manual.

Again you str= awman my argument. Try to understand my central point, and then reply to th= at instead of details of "how you do it right now and that works for y= ou".

Kind regards,
Philippe
--0000000000001f1dd105a46db688--