all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Lynn Winebarger <owinebar@gmail.com>
Cc: rms@gnu.org, dmitry@gutov.dev, philipk@posteo.net, emacs-devel@gnu.org
Subject: Re: Instead of pcase
Date: Thu, 30 Nov 2023 21:26:48 +0200	[thread overview]
Message-ID: <83fs0navpj.fsf@gnu.org> (raw)
In-Reply-To: <CAM=F=bA2zvpduqn2LKaJa++ij2q=avp82Ynm96GetO=9vE8yZg@mail.gmail.com> (message from Lynn Winebarger on Thu, 30 Nov 2023 14:14:04 -0500)

> From: Lynn Winebarger <owinebar@gmail.com>
> Date: Thu, 30 Nov 2023 14:14:04 -0500
> Cc: Dmitry Gutov <dmitry@gutov.dev>, Philip Kaludercic <philipk@posteo.net>, 
>  emacs-devel <emacs-devel@gnu.org>
> 
>    > > >          > (`(,hookfun ,start ,end ,collection . ,plist)
> 
>    > I would think the author is simply emphasizing that [perse is] parsing an
>    > entity in an association list for which hookfun is a key.
> 
>  You may well be right about per intensions, and it is possible that a
>  person who already fully understands what this code is doing would
>  have realized that immediately.
> 
>  But a person who is just starting to look at this code, and reads that
>  function first, is likely to be impeded in starting to reach that sort
>  of understanding.
> 
> I have to respectfully disagree - dotted pair notation is a pretty fundamental part of LISP syntax,
> regardless of dialect.

I think you are missing the point.  The point is that pcase has so
many semi-magical syntax features that use punctuation characters in
creative ways that every extra punctuation character presents a
puzzle.  Faced with

  (`(,hookfun . ,start ,end))

one immediately asks himself why the period, where in "normal" Lisp
expressions it would be completely redundant?  The fact that it is
there then leaves one wondering whether that period has some "magical"
meaning.

That is the basic problem with every unusual syntax, and the reason
why introducing such DSLs is a disadvantage.



  reply	other threads:[~2023-11-30 19:26 UTC|newest]

Thread overview: 342+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-16  3:04 Instead of pcase Richard Stallman
2023-11-16  7:37 ` Philip Kaludercic
2023-11-16 17:18   ` T.V Raman
2023-11-16 17:44     ` Michael Heerdegen
2023-11-16 18:16       ` Philip Kaludercic
2023-11-17  8:54         ` Complex SPEC for variables/customization like font-lock-keywords/org-capture-templates/etc (was: Instead of pcase) Ihor Radchenko
2023-11-25  4:03           ` Complex SPEC for variables/customization like font-lock-keywords/org-capture-templates/etc Stefan Monnier
2023-11-16 19:19       ` Instead of pcase Eli Zaretskii
2023-11-17  8:02         ` Michael Heerdegen
2023-11-16 18:21     ` Dmitry Gutov
2023-11-16 18:39       ` T.V Raman
2023-11-16 18:47         ` Philip Kaludercic
2023-11-16 18:51           ` T.V Raman
2023-11-18  3:04           ` Richard Stallman
2023-11-19 12:23             ` Michael Heerdegen
2023-11-19 16:02               ` Barry Fishman
2023-11-19 17:59                 ` Dmitry Gutov
2023-11-19 19:31                   ` Eric Abrahamsen
2023-11-25  4:23                     ` Stefan Monnier via Emacs development discussions.
2023-11-27  3:12                       ` Richard Stallman
2023-11-19 21:15                   ` Barry Fishman
2023-11-20  1:15                     ` Dmitry Gutov
2023-11-20 15:32                     ` Michael Heerdegen
2023-11-23  2:57                       ` Richard Stallman
2023-11-24 17:14                         ` Dmitry Gutov
2023-11-27  3:09                           ` Richard Stallman
2023-11-27 12:21                             ` Dmitry Gutov
2023-11-29  3:42                               ` Richard Stallman
2023-11-29 12:56                                 ` Dmitry Gutov
2023-12-01  3:17                                   ` Richard Stallman
2023-11-28  2:44                           ` Richard Stallman
2023-11-28 12:39                             ` Dmitry Gutov
2023-11-30  3:37                               ` Richard Stallman
2023-12-01  0:18                                 ` Dmitry Gutov
2023-12-01  5:51                                   ` Emanuel Berg
2023-12-10  8:34                                     ` Alfred M. Szmidt
2023-12-10  9:35                                       ` Eli Zaretskii
2023-12-10  9:53                                         ` Alfred M. Szmidt
2023-12-10 10:35                                           ` Eli Zaretskii
2023-12-10 11:05                                             ` Alfred M. Szmidt
2023-12-01  7:21                                   ` Eli Zaretskii
2023-12-01  8:03                                     ` Manuel Giraud via Emacs development discussions.
2023-12-02  3:21                                   ` Richard Stallman
2023-11-24 18:14                         ` Michael Heerdegen
2023-11-24 18:35                           ` Dmitry Gutov
2023-11-27  3:14                           ` Richard Stallman
2023-11-28  2:46                             ` Richard Stallman
2023-11-28  6:35                               ` Nikita Domnitskii
2023-11-30  3:37                                 ` Richard Stallman
2023-12-02 21:37                                 ` Lynn Winebarger
2023-12-10 15:14                             ` Richard Stallman
2023-12-10 16:27                               ` Lynn Winebarger
2023-12-10 20:28                                 ` Michael Heerdegen via Emacs development discussions.
2023-12-10 21:13                                   ` Lynn Winebarger
2023-12-12  3:43                                   ` Richard Stallman
2023-12-12  6:46                                     ` Tomas Hlavaty
2023-12-12 15:18                                     ` [External] : " Drew Adams
2023-12-14  3:24                                       ` Richard Stallman
2023-12-14 16:52                                         ` Drew Adams
2023-12-16  4:24                                           ` Richard Stallman
2023-12-16  5:04                                             ` Drew Adams
2023-12-16 18:30                                               ` Bob Rogers
2023-12-18  4:13                                                 ` Richard Stallman
2023-12-12 19:24                                     ` Tomas Hlavaty
2023-12-12 21:36                                       ` [External] : " Drew Adams
2023-12-12 22:25                                         ` Michael Heerdegen via Emacs development discussions.
2023-12-13  1:32                                     ` Adam Porter
2023-12-14  3:23                                       ` Richard Stallman
2023-12-16  4:23                                       ` Richard Stallman
2023-12-18  4:09                                         ` cond* Richard Stallman
2023-12-18 10:08                                           ` cond* João Távora
2023-12-21  4:20                                             ` cond* Richard Stallman
2023-12-21  9:50                                               ` cond* João Távora
2023-12-21 16:01                                                 ` [External] : cond* Drew Adams
2023-12-21 16:20                                                   ` João Távora
2023-12-24  3:56                                                   ` Richard Stallman
2023-12-24  3:57                                                 ` cond* Richard Stallman
2023-12-21 14:10                                               ` cond* Ihor Radchenko
2023-12-24  3:57                                                 ` cond* Richard Stallman
2023-12-25 14:14                                                   ` cond* Ihor Radchenko
2023-12-19  3:49                                           ` cond* Richard Stallman
2023-12-19 12:13                                             ` cond* João Távora
2023-12-22  3:14                                               ` cond* Richard Stallman
2023-12-22  7:27                                                 ` cond* Philip Kaludercic
2023-12-25  3:41                                                   ` cond* Richard Stallman
2023-12-25 12:32                                                     ` cond* Philip Kaludercic
2023-12-27  4:54                                                       ` cond* Richard Stallman
2023-12-27 14:34                                                         ` cond* Philip Kaludercic
2023-12-29  3:52                                                           ` cond* Richard Stallman
2024-01-01 14:49                                                             ` cond* Ihor Radchenko
2024-01-03  4:13                                                               ` cond* Richard Stallman
2024-01-03 15:57                                                                 ` cond* Ihor Radchenko
2024-01-05  4:23                                                                   ` cond* Richard Stallman
2024-01-06 14:33                                                                     ` cond* Ihor Radchenko
2024-01-06 22:25                                                                       ` [External] : cond* Drew Adams
2024-01-08  3:45                                                                         ` Richard Stallman
2024-01-08 15:20                                                                           ` Drew Adams
2024-01-09  2:53                                                                           ` map seq and radix-tree-leaf, in pcase Richard Stallman
2024-01-08  3:47                                                                       ` cond* Richard Stallman
2024-01-10 13:03                                                                         ` cond* Ihor Radchenko
2024-01-13  3:50                                                                           ` cond* Richard Stallman
2024-01-13  6:32                                                                             ` cond* Adam Porter
2024-01-16  3:31                                                                               ` cond* Richard Stallman
2024-01-13 19:47                                                                             ` cond* Ihor Radchenko
2024-01-15  3:13                                                                               ` cond* Richard Stallman
2024-01-08  3:47                                                                       ` cond* Richard Stallman
2024-01-08 15:13                                                                         ` cond* Ihor Radchenko
2024-01-27  3:37                                                                           ` cond* Richard Stallman
2024-02-01 16:26                                                                             ` cond* Ihor Radchenko
2024-02-03  3:36                                                                               ` cond* Richard Stallman
2024-02-03 16:52                                                                                 ` cond* Ihor Radchenko
2024-01-03  4:13                                                               ` cond* Richard Stallman
2024-01-03 15:48                                                                 ` cond* Ihor Radchenko
2024-01-06  4:31                                                                   ` cond* Richard Stallman
2024-01-06 13:09                                                                     ` cond* Ihor Radchenko
2024-01-08  3:47                                                                       ` cond* Richard Stallman
2024-01-08 15:26                                                                         ` cond* Ihor Radchenko
2024-01-27  3:37                                                                           ` cond* Richard Stallman
2024-01-03  4:13                                                               ` cond* Richard Stallman
2024-01-03 15:50                                                                 ` cond* Ihor Radchenko
2024-01-06  4:31                                                                   ` cond* Richard Stallman
2024-01-06 13:13                                                                     ` cond* Ihor Radchenko
2024-01-08  3:47                                                                       ` cond* Richard Stallman
2024-01-08 15:35                                                                         ` cond* Ihor Radchenko
2023-12-19 15:53                                             ` [External] : cond* Drew Adams
2023-12-21  4:22                                               ` Richard Stallman
2023-12-21  4:22                                               ` Richard Stallman
2023-12-18  4:09                                         ` cond* Richard Stallman
2023-12-18  5:41                                           ` cond* Adam Porter
2023-12-21  4:20                                             ` cond* Richard Stallman
2023-12-16  4:23                                       ` Instead of pcase Richard Stallman
2023-12-16  4:23                                       ` Richard Stallman
2023-12-16  6:57                                         ` Adam Porter
2023-12-20  3:28                                           ` Richard Stallman
2023-12-20 10:52                                             ` Adam Porter
2023-12-23  2:53                                               ` Richard Stallman
2023-12-23  2:53                                               ` Richard Stallman
2023-12-25 14:26                                                 ` Ihor Radchenko
2023-12-27  4:54                                                   ` Richard Stallman
2023-12-28 13:05                                                     ` Ihor Radchenko
2023-12-30  3:20                                                       ` Richard Stallman
2024-01-01 14:33                                                         ` Ihor Radchenko
2024-01-03  4:13                                                           ` Richard Stallman
2024-01-03  4:13                                                           ` Richard Stallman
2024-01-03 16:08                                                             ` Ihor Radchenko
2024-01-05  4:23                                                               ` Richard Stallman
2024-01-06 13:04                                                                 ` Ihor Radchenko
2024-01-08  3:47                                                                   ` Richard Stallman
2024-01-08 15:42                                                                     ` Ihor Radchenko
2024-01-27  3:37                                                                       ` Richard Stallman
2023-12-13  4:58                                     ` Richard Stallman
2023-12-11  3:31                                 ` Richard Stallman
2023-11-19 13:49             ` Dmitry Gutov
2023-11-21  2:42               ` Richard Stallman
2023-11-21  5:14                 ` Jim Porter
2023-11-21  5:34                 ` Yuri Khan
2023-11-21 11:11                 ` Dmitry Gutov
2023-11-21 15:38                   ` Michael Heerdegen
2023-11-23  3:00                     ` Richard Stallman
2023-11-24  3:34                   ` Richard Stallman
2023-11-24  4:30                     ` Jim Porter
2023-11-24  7:45                       ` Eli Zaretskii
2023-11-25  3:08                       ` Emanuel Berg
2023-11-24 17:01                     ` Dmitry Gutov
2023-11-24 17:29                 ` Lynn Winebarger
2023-11-28  2:44                   ` Richard Stallman
2023-11-30 19:14                     ` Lynn Winebarger
2023-11-30 19:26                       ` Eli Zaretskii [this message]
2023-11-30 20:30                         ` Michael Heerdegen via Emacs development discussions.
2023-12-01  6:24                           ` Eli Zaretskii
2023-12-01 15:47                             ` Michael Heerdegen via Emacs development discussions.
2023-12-01 16:07                               ` Eli Zaretskii
2023-12-01 20:27                               ` Alan Mackenzie
2023-12-02 13:24                                 ` Michael Heerdegen via Emacs development discussions.
2023-12-02 13:51                                   ` Emanuel Berg
2023-12-04  3:11                                   ` Richard Stallman
2023-12-03  3:28                                 ` Richard Stallman
2023-11-30 20:47                         ` João Távora
2023-12-01  6:31                           ` Eli Zaretskii
2023-12-01  7:07                             ` Yuri Khan
2023-12-01  8:10                               ` Eli Zaretskii
2023-12-01  9:04                                 ` Andreas Schwab
2023-12-04  3:08                                   ` Richard Stallman
2023-12-04 11:58                                     ` Eli Zaretskii
2023-12-04 12:35                                       ` Lynn Winebarger
2023-12-04 13:20                                         ` Eli Zaretskii
2023-12-04 17:46                                           ` Andreas Schwab
2023-12-07  2:48                                             ` Richard Stallman
2023-12-07 17:42                                               ` Andreas Schwab
2023-12-09  4:02                                                 ` Richard Stallman
2023-12-04 18:17                                           ` Lynn Winebarger
2023-12-04 12:37                                       ` Dmitry Gutov
2023-12-08  3:54                                         ` Richard Stallman
2023-12-01 10:13                                 ` João Távora
2023-12-01  8:35                             ` Andreas Schwab
2023-12-01 10:02                             ` João Távora
2023-12-01 11:52                               ` Eli Zaretskii
2023-12-01 12:48                                 ` Dmitry Gutov
2023-12-01 14:44                                   ` Eli Zaretskii
2023-12-01 18:28                                     ` Dmitry Gutov
2023-12-01 18:40                                       ` Eli Zaretskii
2023-12-01 18:45                                       ` João Távora
2024-01-09  5:36                                         ` Stefan Kangas
2023-12-01 13:28                                 ` João Távora
2023-12-01 16:25                                 ` Andreas Schwab
2024-01-09  5:33                               ` Stefan Kangas
2024-01-09 10:43                                 ` João Távora
2023-12-01 16:04                             ` Michael Heerdegen via Emacs development discussions.
2023-12-01 16:33                               ` Eli Zaretskii
2023-12-02  3:20                       ` Richard Stallman
2023-12-02  8:41                         ` Andreas Schwab
2023-12-02  9:02                           ` Philip Kaludercic
2023-12-02 10:14                             ` Emanuel Berg
2023-12-02 17:02                               ` Barry Fishman
2023-12-02 20:25                                 ` Michael Heerdegen via Emacs development discussions.
2023-12-03  4:30                                 ` Emanuel Berg
2023-12-05  2:58                           ` Richard Stallman
2023-12-05  3:36                             ` chad
2023-12-08  3:53                               ` Richard Stallman
2023-12-02 14:33                         ` Michael Heerdegen via Emacs development discussions.
2023-12-04  3:11                           ` Richard Stallman
2023-12-02 18:01                         ` Lynn Winebarger
2023-12-04  3:11                           ` Richard Stallman
2023-12-04 12:27                             ` Lynn Winebarger
2023-12-03  3:27                         ` Richard Stallman
2023-11-25  4:15                 ` Stefan Monnier
2023-11-27  3:12                   ` Richard Stallman
2023-11-30 18:06                     ` Michael Heerdegen
2023-11-16 18:49         ` Dmitry Gutov
2023-11-16 23:41     ` Emanuel Berg
2023-11-17  7:34       ` Eli Zaretskii
2023-11-26  3:17   ` Richard Stallman
2023-11-16 15:06 ` Michael Heerdegen
2023-11-16 17:31   ` T.V Raman
2023-11-16 18:26     ` Jim Porter
2023-11-16 18:40       ` T.V Raman
2023-11-16 19:13         ` Jim Porter
2023-11-20  3:06   ` Richard Stallman
2023-11-20 14:35     ` Michael Heerdegen
2023-11-23  2:57       ` Richard Stallman
2023-11-16 15:20 ` Spencer Baugh
2023-11-16 20:16   ` Tomas Hlavaty
2023-11-16 21:37     ` [External] : " Drew Adams
2023-11-25  4:34     ` Stefan Monnier via Emacs development discussions.
2023-11-25  8:53       ` Eli Zaretskii
2023-11-18  3:03   ` combining cond and let, to replace pcase Richard Stallman
2023-11-19 11:20     ` Michael Heerdegen
2023-11-19 11:43       ` Eli Zaretskii
2023-11-19 12:16         ` Gerd Möllmann
2023-11-19 13:21           ` Eli Zaretskii
2023-11-19 13:32             ` Gerd Möllmann
2023-11-19 14:41               ` Eli Zaretskii
2023-11-19 15:27                 ` Gerd Möllmann
2023-11-19 15:29                   ` Eli Zaretskii
2023-11-19 16:03           ` Joost Kremers
2023-11-19 16:59             ` Eli Zaretskii
2023-11-19 18:29               ` Joost Kremers
2023-11-19 18:35                 ` Eli Zaretskii
2023-11-19 12:50         ` Michael Heerdegen
2023-11-19 13:08           ` Eli Zaretskii
2023-11-19 13:52             ` Michael Heerdegen
2023-11-19 14:45               ` Eli Zaretskii
2023-11-20 15:35                 ` Michael Heerdegen
2023-11-20 16:37                   ` Eli Zaretskii
2023-11-21  8:33                     ` Michael Heerdegen
2023-11-21  8:39                       ` Michael Heerdegen
2023-11-19 13:59             ` Dmitry Gutov
2023-11-19 14:49               ` Eli Zaretskii
2023-11-19 14:53                 ` Dmitry Gutov
2023-11-19 12:04       ` Gerd Möllmann
2023-11-19 18:10       ` Tomas Hlavaty
2023-11-25  4:45         ` Stefan Monnier via Emacs development discussions.
2023-11-28 15:31           ` João Távora
2023-11-28 15:55             ` Stefan Monnier
2023-11-19 21:36       ` Alan Mackenzie
2023-11-21 16:14         ` Michael Heerdegen
2023-11-19 16:08     ` Axel Forsman
2023-11-21 15:53     ` Michael Heerdegen
2023-11-23  2:58     ` Richard Stallman
2023-11-23  7:02       ` Tomas Hlavaty
2023-11-26  3:14         ` Richard Stallman
2023-11-27 17:07           ` Tomas Hlavaty
2023-11-27 17:59             ` Yuri Khan
2023-11-28 14:25               ` Tomas Hlavaty
2023-11-23  8:58       ` Manuel Giraud via Emacs development discussions.
2023-11-26  3:14         ` Richard Stallman
2023-11-24  3:08       ` Daniel Semyonov
2023-11-24  3:26         ` Daniel Semyonov
2023-11-25  2:59         ` Richard Stallman
2023-11-25  5:11       ` Stefan Monnier via Emacs development discussions.
2023-11-27  3:11         ` Richard Stallman
2023-11-27  3:11         ` Richard Stallman
2023-11-27 18:13           ` Manuel Giraud via Emacs development discussions.
2023-11-27 18:49             ` Yuri Khan
2023-11-27 23:12               ` Stefan Monnier
2023-11-29  3:41               ` Richard Stallman
2023-11-29  3:40             ` Richard Stallman
2023-11-16 18:11 ` Instead of pcase Emanuel Berg
2023-11-16 19:26   ` Eli Zaretskii
2023-11-16 22:16     ` Emanuel Berg
2023-11-17  7:30       ` Eli Zaretskii
2023-11-17  8:09         ` Emanuel Berg
2023-11-17 12:16           ` Eli Zaretskii
2023-11-18  6:26             ` Emanuel Berg
2023-11-18  7:21               ` Po Lu
2023-11-18  7:41                 ` Eli Zaretskii
2023-11-16 18:22 ` Jim Porter
2023-11-16 22:55   ` Emanuel Berg
2023-11-17  5:36   ` Po Lu
2023-11-19 11:48     ` Michael Heerdegen
2023-11-19 12:50       ` Eli Zaretskii
2023-11-19 14:05         ` Dmitry Gutov
2023-11-19 14:41           ` Po Lu
2023-11-19 14:44             ` Dmitry Gutov
2023-11-19 14:52           ` Eli Zaretskii
2023-11-19 14:58             ` Dmitry Gutov
2023-11-19 15:14               ` Eli Zaretskii
2023-11-19 18:04                 ` Dmitry Gutov
2023-11-19 18:30                   ` Eli Zaretskii
2023-11-19 18:51                     ` Dmitry Gutov
2023-11-19 19:49                       ` Eli Zaretskii
2023-11-21  2:43               ` Richard Stallman
2023-11-19 14:14         ` Michael Heerdegen
2023-11-19 15:09           ` Eli Zaretskii
2023-11-20 14:52             ` Michael Heerdegen
2023-11-19 14:29       ` Po Lu
2023-11-20 15:20         ` Michael Heerdegen
2023-11-20 15:29         ` Dmitry Gutov
2023-11-20 23:43           ` Po Lu
2023-11-21  1:09             ` Dmitry Gutov
2023-11-21  1:49               ` Po Lu
2023-11-21  1:59                 ` Dmitry Gutov
2023-11-21  4:04                   ` Po Lu
2023-11-21 11:27                     ` Dmitry Gutov
2023-11-21 11:49                       ` Po Lu
2023-11-20 23:45           ` Jose E. Marchesi
2023-11-20 23:54             ` Emanuel Berg
2023-11-21  2:01             ` Dmitry Gutov
2023-11-22  2:59               ` Richard Stallman
2023-11-22  3:29                 ` Emanuel Berg
2023-11-22 11:58                 ` Dmitry Gutov
2023-11-24  3:38                   ` Richard Stallman

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

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

  git send-email \
    --in-reply-to=83fs0navpj.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=dmitry@gutov.dev \
    --cc=emacs-devel@gnu.org \
    --cc=owinebar@gmail.com \
    --cc=philipk@posteo.net \
    --cc=rms@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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.