unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Joost Kremers <joostkremers@fastmail.fm>
To: Richard Stallman <rms@gnu.org>
Subject: Re: Replace trivial pcase occurrences in the Emacs sources
Date: Wed, 24 Oct 2018 10:34:23 +0200	[thread overview]
Message-ID: <20181024083423.GA13100@Swift> (raw)
In-Reply-To: <E1gFB8p-0006rJ-Gq@fencepost.gnu.org>

On Wed, Oct 24, 2018 at 12:51:35AM -0400, Richard Stallman wrote:
> [[[ To any NSA and FBI agents reading my email: please consider    ]]]
> [[[ whether defending the US Constitution against all enemies,     ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> 
>   > In what sense is the above cl-case more clear than the pcase equivalent?
>   > I'm not saying the pcase version is better in those cases, but I think
>   > the respective advantages and disadvantages pretty much balance out.
> 
> I also wonder.  Is it simply that people find pcase unfamiliar?

Well, I can't speak for others, but personally, though I find pattern matching as a concept straightforward and intuitive, pcase syntax seems unnecessarily complex and unintuitive.

For example, John Wiegley's tutorial on pcase at <http://newartisans.com/2016/01/pattern-matching-with-pcase/> has the following example:

```
(pcase value
  (`(,_ 1 2)
   (message "Matched a list of anything followed by (1 2)")))
```

It is not clear to me why I couldn't simply write:

```
(pcase value
  ((_ 1 2)
   (message "Matched a list of anything followed by (1 2)")))
```

I *can* understand the need to write:

```
(pcase value
  (`(1 2 ,foo 3)
   (message "Matched 1, 2, something now bound to foo, and 3")))
```

Instead of:

```
(pcase value
  ((1 2 foo 3)
   (message "Matched 1, 2, something now bound to foo, and 3")))
```

This is obviously done in order to be able to match against the symbol `foo' while at the same time be able to match anything and bind it to the symbol `foo'. And even though this syntax with backquote and comma looks familiar to anyone who's ever written a macro, their meaning is subtly different from their meaning in macros. In pcase, «,foo» does *not* mean «evaluate `foo'», it means something like «use `foo' as a variable».

So, while I understand the reasoning, it still makes me wonder why I can't write something like this:

```
(pcase value
  ((1 2 % 3)
   (message "Matched 1, 2, something now bound to %, and 3")))
```

That is, use a special symbol (I borrowed % from Clojure's anonymous functions) to indicate that I want to match against any value and at the same time bind that value. Obviously, the following:

```
(pcase value
  ((1 2 % %)
   (message "Matched 1, 2, something now bound to %, and that same something again")))
```

would then match lists of the form (1 2 3 3), not (1 2 3 4). If you need to bind multiple values, I could imagine using something like:

```
(pcase value
  ((1 2 %1 %2)
   (message "Matched 1, 2, something now bound to %1, and something (else) bound to %2")))
```

Also, the use of `pred' and `guard' seem unnecessary. Instead of:

```
(pcase value
  (`(1 2 ,(or 3 4)
     ,(and (pred stringp)
           (pred (string> "aaa"))
           (pred (lambda (x) (> (length x) 10)))))
   (message "Matched 1, 2, 3 or 4, and a long string "
            "that is lexically greater than 'aaa'")))
```

why not write:

```
(pcase value
  ((1 2 (or 3 4)
    (and (stringp %)
         (string> "aaa" %)
         (> (length %) 10)))
   (message "Matched 1, 2, 3 or 4, and a long string "
            "that is lexically greater than 'aaa'")))
```

Similarly, the example:

```
(pcase value
  (`(1 2 ,(and foo (guard (and (not (numberp foo)) (/= foo 10)))) _)
   (message "Matched 1, 2, anything, and then anything again, "
            "but only if the first anything wasn't the number 10"))))
```

uses `(and foo (guard ...))' to bind a value to `foo' and apply a predicate to it. That's a coding pattern that you need to be familiar with in order to understand what it does. (John explains it in his tutorial, but if I had met this in the wild, I'd probably be puzzled by it at first). The % syntax would seem to make this simpler as well:

```
(pcase value
  ((1 2 (and (not (numberp %)) (/= % 10)) _)
   (message "Matched 1, 2, anything, and then anything again, "
            "but only if the first anything wasn't the number 10"))))
```

This example also shows that `and' has a meaning in pcase that is subtly different from its usual meaning in Lisp: `and' in a pcase 'UPattern' (as the manual calls it) is not a logical `and' in the sense that it tests its arguments for truthiness. Rather, it means «both arguments of `and' must apply to the value at this position *regardless of truthiness*». (The `and' inside the guard does have the usual meaning, of course.)

Mind you, I'm not arguing that pcase should be changed or replaced with something that has this more intuitive (to me, anyway) syntax. I'm just trying to explain why I personally find pcase difficult to wrap my head around, and why I think this difficulty has to do with its syntax, which is different in subtle ways, to such an extent that you can't, as an Elisp programmer tackling pcase for the first time, just build on what you already know. You need to actually bend your mind to incorporate the new stuff. Moreover, at first sight, there doesn't seem to be much of an advantage to this syntax, since an alternative syntax that doesn't have the same disadvantage seems feasible.

I say "seems", because it's entirely possible that this particular syntax has capabilities that wouldn't be possible with a simpler syntax. But for a pcase newbie, that's not immediately obvious. The only reason that I can think of why the %-syntax or something similar isn't used is that it's dangerous in an environment that doesn't have lexical scope...

Just my two cents, of course.


-- 
Joost Kremers
Life has its moments



  reply	other threads:[~2018-10-24  8:34 UTC|newest]

Thread overview: 375+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-16 20:26 The poor state of documentation of pcase like things Alan Mackenzie
2015-12-16 20:53 ` Kaushal Modi
2015-12-17 16:34   ` John Wiegley
2015-12-17 19:22     ` Kaushal Modi
2015-12-17 21:16     ` Phillip Lord
2015-12-17 21:56       ` Drew Adams
2015-12-17 22:22         ` Phillip Lord
2015-12-18  7:15       ` Eli Zaretskii
2015-12-18  9:12         ` Rasmus
2015-12-18  9:21           ` Eli Zaretskii
2015-12-18  9:57             ` Rasmus
2015-12-18 10:13             ` David Kastrup
2015-12-18 10:47               ` Eli Zaretskii
2015-12-18 16:44                 ` Phillip Lord
2015-12-18 17:17                   ` Eli Zaretskii
2015-12-18 17:24                     ` David Kastrup
2015-12-18 18:47                       ` Eli Zaretskii
2015-12-19 11:23                     ` Eli Zaretskii
2015-12-19 11:39                       ` David Kastrup
2015-12-19 12:15                         ` Eli Zaretskii
2015-12-19 20:35                           ` Phillip Lord
2015-12-19 20:58                             ` Eli Zaretskii
2015-12-19 22:23                               ` Phillip Lord
2015-12-20  3:38                                 ` Eli Zaretskii
2015-12-20 22:54                                   ` Phillip Lord
2015-12-20 14:16                                 ` Michael Heerdegen
2015-12-18 12:23             ` Marcin Borkowski
2015-12-18 10:30         ` Phillip Lord
2015-12-18 12:21         ` Marcin Borkowski
2015-12-22  5:20         ` John Wiegley
2015-12-17 21:26     ` Alan Mackenzie
2015-12-17 23:34       ` John Wiegley
2015-12-18  7:16       ` Eli Zaretskii
2015-12-19 15:31     ` Michael Heerdegen
2015-12-22  5:25       ` John Wiegley
2015-12-22 13:16         ` Michael Heerdegen
2015-12-18  0:42   ` John Wiegley
2015-12-18  4:07     ` Richard Stallman
2015-12-18 10:39       ` Phillip Lord
2015-12-19 15:14         ` Michael Heerdegen
2015-12-19 19:23           ` Phillip Lord
2015-12-19 21:09             ` Michael Heerdegen
2015-12-19 21:57               ` Phillip Lord
2015-12-20  5:13                 ` Richard Stallman
2015-12-20  9:25                   ` Phillip Lord
2015-12-21  5:04                     ` Richard Stallman
2015-12-21 10:15                       ` Phillip Lord
2015-12-22  5:18                       ` John Wiegley
2015-12-20 13:45                   ` Michael Heerdegen
2015-12-20 13:33                 ` Michael Heerdegen
2015-12-20 18:51                   ` Phillip Lord
2015-12-24 17:46                     ` Michael Heerdegen
2015-12-24 17:51                       ` John Wiegley
2015-12-24 19:10                         ` Michael Heerdegen
2015-12-19 19:24           ` Phillip Lord
2015-12-18  8:55     ` Eli Zaretskii
2015-12-19 15:18       ` Michael Heerdegen
2015-12-22  5:22         ` John Wiegley
2015-12-19 15:55       ` Michael Heerdegen
2015-12-19 17:08         ` Eli Zaretskii
2015-12-19 17:19           ` Eli Zaretskii
2015-12-19 21:03             ` Michael Heerdegen
2015-12-19 17:40           ` Michael Heerdegen
2015-12-22  5:21             ` John Wiegley
2015-12-19 15:44     ` Michael Heerdegen
2015-12-19 17:02       ` Eli Zaretskii
2015-12-19 20:58         ` Michael Heerdegen
2015-12-22  5:28         ` John Wiegley
2015-12-19 20:31       ` Phillip Lord
2015-12-19 21:16         ` Michael Heerdegen
2015-12-19 22:11           ` Phillip Lord
2015-12-20 12:45             ` Michael Heerdegen
2015-12-24  5:49     ` Richard Stallman
2015-12-24  6:15       ` John Wiegley
2015-12-25  5:49         ` Richard Stallman
2015-12-25 14:59           ` Michael Heerdegen
2015-12-25 16:55             ` John Wiegley
2015-12-26  6:13             ` Richard Stallman
2015-12-26 17:10               ` Michael Heerdegen
2015-12-26 20:52                 ` Aaron Ecay
2015-12-26 23:17                   ` Michael Heerdegen
2016-01-01  7:57                     ` Eli Zaretskii
2016-01-01 17:46                       ` John Wiegley
2016-01-01 18:39                         ` David Kastrup
2016-01-01 19:05                           ` Daniel Colascione
2016-01-02  8:16                             ` Eli Zaretskii
2016-01-02  8:35                               ` David Kastrup
2016-01-03  0:19                                 ` Michael Heerdegen
2016-01-03  2:47                                   ` Drew Adams
2016-01-03  3:21                                     ` Michael Heerdegen
2016-01-03  3:46                                       ` Drew Adams
2016-01-03  5:17                                         ` Michael Heerdegen
2016-01-03  3:45                                   ` Eli Zaretskii
2016-01-03  4:21                                     ` Michael Heerdegen
2016-01-03  9:13                                       ` David Kastrup
2016-01-03 16:52                                         ` Clément Pit--Claudel
2016-01-04  1:28                                         ` Michael Heerdegen
2016-01-03 15:29                                       ` Eli Zaretskii
2016-01-04  2:05                                         ` Michael Heerdegen
2016-01-03  9:03                                   ` David Kastrup
2016-01-04  2:08                                     ` Michael Heerdegen
2016-01-04 22:05                                       ` John Wiegley
2016-01-03  0:41                               ` Dmitry Gutov
2016-01-03  1:07                                 ` Lars Magne Ingebrigtsen
2016-01-03  1:21                                   ` Dmitry Gutov
2016-01-03  2:49                                     ` Drew Adams
2016-01-03 10:49                                       ` David Kastrup
2016-01-03  1:32                                   ` Michael Heerdegen
2016-01-03  2:48                                   ` Drew Adams
2016-01-03  3:11                                     ` Noam Postavsky
2016-01-03  3:18                                       ` Dmitry Gutov
2016-01-03  3:55                                         ` John Wiegley
2016-01-03  3:45                                       ` Drew Adams
2016-01-03  3:47                                 ` Eli Zaretskii
     [not found]                                   ` <56889EC3.3040108@yandex.ru>
     [not found]                                     ` <877fjrkpdf.fsf@fencepost.gnu.org>
     [not found]                                       ` <56892334.4000106@yandex.ru>
     [not found]                                         ` <8760zakb7q.fsf@fencepost.gnu.org>
     [not found]                                           ` <56892BDA.6060103@dancol.org>
     [not found]                                             ` <871t9yk98g.fsf@fencepost.gnu.org>
     [not found]                                               ` <568936F0.3060505@yandex.ru>
     [not found]                                                 ` <87wprqitj5.fsf@fencepost.gnu.org>
     [not found]                                                   ` <56893C8C.3060200@yandex.ru>
2016-01-03 15:52                                                     ` David Kastrup
2016-01-03 15:59                                                       ` Dmitry Gutov
2016-01-03 17:15                                                         ` David Kastrup
2016-01-03 17:52                                                           ` Dmitry Gutov
2016-01-03 18:17                                                             ` David Kastrup
2016-01-04  2:34                                                               ` Michael Heerdegen
2016-01-04  6:19                                                                 ` Drew Adams
2016-01-04 22:07                                                                   ` John Wiegley
2016-01-04 15:52                                                                 ` Eli Zaretskii
2018-10-23 13:04                                                                 ` Replace trivial pcase occurrences in the Emacs sources (was: The poor state of documentation of pcase like things.) Michael Heerdegen
2018-10-23 14:43                                                                   ` Clément Pit-Claudel
2018-10-23 14:46                                                                     ` Replace trivial pcase occurrences in the Emacs sources Michael Heerdegen
2018-10-23 14:57                                                                       ` Clément Pit-Claudel
2018-10-23 15:16                                                                         ` Michael Heerdegen
2018-10-23 15:07                                                                       ` Noam Postavsky
2018-10-23 15:24                                                                         ` Michael Heerdegen
2018-10-23 15:31                                                                           ` Noam Postavsky
2018-10-24 13:15                                                                             ` Michael Heerdegen
2018-10-23 15:17                                                                   ` Replace trivial pcase occurrences in the Emacs sources (was: The poor state of documentation of pcase like things.) Eli Zaretskii
2018-10-23 17:14                                                                     ` Replace trivial pcase occurrences in the Emacs sources Stefan Monnier
2018-10-23 17:24                                                                       ` Michael Heerdegen
2018-10-23 18:12                                                                         ` Stefan Monnier
2018-10-23 19:52                                                                           ` pcase vs. case (where it could also be used) [Was: Re: Replace trivial pcase occurrences in the Emacs sources] Garreau, Alexandre
2018-10-23 20:19                                                                             ` Stefan Monnier
2018-10-23 22:24                                                                               ` Garreau, Alexandre
2018-10-24 15:03                                                                           ` Replace trivial pcase occurrences in the Emacs sources Eli Zaretskii
2018-10-24 15:30                                                                             ` Michael Heerdegen
2018-10-24 15:40                                                                               ` Eli Zaretskii
2018-10-24 15:48                                                                                 ` Michael Heerdegen
2018-10-24 17:35                                                                                   ` Eli Zaretskii
2018-10-24 17:55                                                                                     ` Michael Heerdegen
2018-10-24 18:32                                                                                       ` Eli Zaretskii
2018-10-24 18:47                                                                               ` Garreau, Alexandre
2018-10-27 15:19                                                                               ` Michael Heerdegen
2018-10-27 16:56                                                                                 ` Garreau, Alexandre
2018-10-27 22:37                                                                                 ` Dmitry Gutov
2018-10-28  0:21                                                                                   ` Michael Heerdegen
2018-10-28  2:07                                                                                     ` Garreau, Alexandre
2018-10-28  2:44                                                                                       ` pcase ` meaning [Was: Re: Replace trivial pcase occurrences in the Emacs sources] Garreau, Alexandre
2018-10-28  4:45                                                                                         ` How other pattern-matching lisps do [Was: Re: pcase ` meaning [Was: Re: Replace trivial pcase occurrences in the Emacs sources]] Garreau, Alexandre
2018-10-28 13:44                                                                                           ` Stefan Monnier
2018-10-28 17:57                                                                                             ` Garreau, Alexandre
2018-10-28 23:16                                                                                           ` Michael Heerdegen
2018-10-28 22:54                                                                                         ` pcase ` meaning [Was: Re: Replace trivial pcase occurrences in the Emacs sources] Michael Heerdegen
2018-10-28 23:09                                                                                           ` Garreau, Alexandre
2018-10-28 23:57                                                                                             ` Michael Heerdegen
2018-10-29 10:22                                                                                               ` Garreau, Alexandre
2018-10-29 21:33                                                                                                 ` Michael Heerdegen
2018-10-29 23:00                                                                                                   ` pcase ` meaning Garreau, Alexandre
2018-10-29 23:57                                                                                                     ` Michael Heerdegen
2018-10-30  0:17                                                                                                       ` Garreau, Alexandre
2018-10-30  1:40                                                                                                         ` Michael Heerdegen
2018-10-30 16:05                                                                                                         ` Yuri Khan
2018-10-29 17:26                                                                                             ` pcase ` meaning [Was: Re: Replace trivial pcase occurrences in the Emacs sources] Clément Pit-Claudel
2018-10-30  0:27                                                                                               ` pcase ` meaning Garreau, Alexandre
2018-10-30 13:14                                                                                                 ` Stefan Monnier
2018-10-31 23:13                                                                                                   ` Garreau, Alexandre
2018-11-01 13:22                                                                                                     ` Clément Pit-Claudel
2018-11-01 14:11                                                                                                       ` Garreau, Alexandre
2018-10-29  3:26                                                                                 ` Replace trivial pcase occurrences in the Emacs sources Eli Zaretskii
2018-10-29 21:46                                                                                   ` Michael Heerdegen
2018-10-30  0:36                                                                                     ` What `case' have done you? [Was: Re: Replace trivial pcase occurrences in the Emacs sources] Garreau, Alexandre
2018-10-30  1:45                                                                                       ` Michael Heerdegen
2018-10-30  6:31                                                                                     ` Replace trivial pcase occurrences in the Emacs sources Eli Zaretskii
2018-10-30 15:47                                                                                       ` Michael Heerdegen
2018-10-30 17:29                                                                                         ` Eli Zaretskii
2018-10-30 22:09                                                                                           ` Michael Heerdegen
2018-10-31 15:59                                                                                             ` Eli Zaretskii
2018-10-31 19:37                                                                                               ` Stefan Monnier
2018-10-31 20:31                                                                                               ` Michael Heerdegen
2018-10-31 23:33                                                                                                 ` Garreau, Alexandre
2018-10-31 23:44                                                                                                 ` Garreau, Alexandre
2018-10-31 23:58                                                                                                   ` Michael Heerdegen
2018-11-01  4:15                                                                                                 ` Eli Zaretskii
2018-11-01 12:30                                                                                                 ` Stefan Monnier
2018-11-01 14:14                                                                                                   ` Michael Heerdegen
2018-11-01 14:18                                                                                                     ` Noam Postavsky
2018-11-01 14:20                                                                                                       ` Michael Heerdegen
2018-11-05  1:43                                                                                                         ` Michael Heerdegen
2018-11-05  1:46                                                                                                           ` Michael Heerdegen
2018-11-05 16:06                                                                                                           ` Eli Zaretskii
2018-11-06  1:04                                                                                                             ` Michael Heerdegen
2018-11-25 20:36                                                                                                               ` Michael Heerdegen
2018-11-25 20:42                                                                                                                 ` Nicolas Goaziou
2018-11-25 21:46                                                                                                                   ` Michael Heerdegen
2018-11-26  3:35                                                                                                                     ` Eli Zaretskii
2018-11-26 20:57                                                                                                                       ` Michael Heerdegen
2018-11-26 22:05                                                                                                                         ` Nicolas Goaziou
2018-11-27  5:35                                                                                                                         ` Eli Zaretskii
2018-10-24 15:47                                                                             ` Clément Pit-Claudel
2018-10-24 16:00                                                                               ` Eli Zaretskii
2018-10-24 19:00                                                                                 ` Clément Pit-Claudel
2018-10-24 19:09                                                                                   ` Eli Zaretskii
2018-10-24 16:12                                                                             ` Alan Mackenzie
2018-10-24 20:52                                                                             ` Stefan Monnier
2018-10-25  7:17                                                                               ` Stephen Berman
2018-10-25 14:47                                                                               ` Eli Zaretskii
2018-10-25 15:32                                                                                 ` Stefan Monnier
2018-10-26 15:34                                                                                   ` Stefan Monnier
2018-10-27 17:48                                                                                 ` Garreau, Alexandre
2018-10-24  4:51                                                                       ` Richard Stallman
2018-10-24  8:34                                                                         ` Joost Kremers [this message]
2018-10-24 12:37                                                                           ` Stefan Monnier
2018-10-24 13:08                                                                             ` Daniel Pittman
2018-10-24 14:35                                                                               ` Stefan Monnier
2018-10-24 13:03                                                                           ` pcase pattern syntax (was: Replace trivial pcase occurrences in the Emacs sources) Stefan Monnier
2018-10-26  7:16                                                                             ` Joost Kremers
2018-10-24 10:16                                                                         ` Replace trivial pcase occurrences in the Emacs sources João Távora
2018-10-24 13:05                                                                           ` Stefan Monnier
2018-10-25  3:11                                                                           ` Richard Stallman
2018-10-25 12:42                                                                             ` Stefan Monnier
2018-10-25 23:53                                                                               ` Andy Moreton
2018-10-26 14:59                                                                                 ` Stefan Monnier
2018-10-26 15:44                                                                                   ` Garreau, Alexandre
2018-10-27 12:09                                                                                   ` Andy Moreton
2018-10-28 21:44                                                                                 ` Stefan Monnier
2018-10-29 13:01                                                                                   ` Alan Mackenzie
2018-10-29 13:28                                                                                     ` Stefan Monnier
2018-10-29 13:47                                                                                       ` Alan Mackenzie
2018-10-29 21:08                                                                                         ` Stefan Monnier
2018-10-29 21:53                                                                                           ` Michael Heerdegen
2018-10-29 23:12                                                                                             ` Eric Abrahamsen
2018-10-29 23:18                                                                                               ` Eric Abrahamsen
2018-10-30  0:50                                                                                                 ` `pcase'/`case' implementation [Was: Re: Replace trivial pcase occurrences in the Emacs sources] Garreau, Alexandre
2018-10-30 13:07                                                                                                 ` Replace trivial pcase occurrences in the Emacs sources Stefan Monnier
2018-10-30 23:30                                                                                                   ` Eric Abrahamsen
2018-11-01  0:16                                                                                                   ` Garreau, Alexandre
2018-10-30 12:30                                                                                               ` Stefan Monnier
2018-10-30 17:16                                                                                                 ` Stefan Monnier
2018-10-30 19:03                                                                                                   ` Eli Zaretskii
2018-10-30 19:21                                                                                                     ` Stefan Monnier
2018-10-30 19:54                                                                                                       ` Eli Zaretskii
2018-10-30 20:44                                                                                                         ` Stefan Monnier
2018-10-31 15:57                                                                                                           ` Eli Zaretskii
2018-10-31 19:35                                                                                                             ` Stefan Monnier
2018-11-01  1:40                                                                                                         ` Garreau, Alexandre
2018-11-01  4:10                                                                                                           ` Eli Zaretskii
2018-11-01  5:21                                                                                                             ` Garreau, Alexandre
2018-11-01 18:07                                                                                                               ` Eli Zaretskii
2018-11-01 19:35                                                                                                                 ` Garreau, Alexandre
2018-11-01 19:49                                                                                                                   ` TEIRLLM
2018-11-03  2:53                                                                                                                     ` Richard Stallman
2018-11-04 11:35                                                                                                                       ` Nix
2018-11-04 12:40                                                                                                                         ` Garreau, Alexandre
2018-11-01 19:51                                                                                                                   ` TEIRLLM
2018-11-01 20:02                                                                                                                   ` Eli Zaretskii
2018-10-30 20:04                                                                                                       ` Dmitry Gutov
2018-10-30 20:46                                                                                                         ` Stefan Monnier
2018-10-31 13:41                                                                                                           ` Dmitry Gutov
2018-10-31 13:52                                                                                                             ` Stefan Monnier
2018-10-31 15:50                                                                                                               ` Eli Zaretskii
2018-10-31 16:05                                                                                                                 ` Dmitry Gutov
2018-10-31 16:13                                                                                                                   ` Eli Zaretskii
2018-10-31 16:27                                                                                                                     ` Dmitry Gutov
2018-10-31 16:33                                                                                                                       ` Dmitry Gutov
2018-10-31 16:54                                                                                                                         ` Eli Zaretskii
2018-10-31 16:58                                                                                                                           ` Dmitry Gutov
2018-10-31 16:52                                                                                                                       ` Eli Zaretskii
2018-10-31 18:55                                                                                                                       ` Michael Heerdegen
2018-10-31 19:23                                                                                                                         ` Eli Zaretskii
2018-10-31 19:50                                                                                                                           ` Michael Heerdegen
2018-10-31 20:05                                                                                                                             ` Eli Zaretskii
2018-10-31 20:41                                                                                                                               ` Michael Heerdegen
2018-11-01  4:14                                                                                                                                 ` Eli Zaretskii
2018-10-31 20:06                                                                                                                             ` Stefan Monnier
2018-10-31 20:12                                                                                                                               ` Eli Zaretskii
2018-10-31 17:48                                                                                                                     ` Clément Pit-Claudel
2018-10-31 18:11                                                                                                                       ` Eli Zaretskii
2018-10-31 18:28                                                                                                                         ` Clément Pit-Claudel
2018-10-31 18:33                                                                                                                           ` Eli Zaretskii
2018-10-31 19:00                                                                                                                             ` Yuri Khan
2018-10-31 19:20                                                                                                                               ` Eli Zaretskii
2018-11-01  0:11                                                                                                                                 ` Dmitry Gutov
2018-10-31 19:21                                                                                                                             ` Clément Pit-Claudel
2018-10-31 19:29                                                                                                                               ` Eli Zaretskii
2018-10-31 19:31                                                                                                                                 ` Clément Pit-Claudel
2018-10-31 20:36                                                                                                                                   ` Eli Zaretskii
2018-11-01  0:13                                                                                                                                 ` Dmitry Gutov
2018-11-01  1:31                                                                                                                                 ` Garreau, Alexandre
2018-10-31 20:03                                                                                                                             ` Stefan Monnier
2018-11-01  0:07                                                                                                                               ` Dmitry Gutov
2018-11-01  1:34                                                                                                                       ` Garreau, Alexandre
2018-11-03 13:15                                                                                                                     ` Eli Zaretskii
2018-10-30  1:15                                                                                           ` Garreau, Alexandre
2018-10-30  6:17                                                                                           ` Eli Zaretskii
2018-10-30 12:15                                                                                             ` Stefan Monnier
2018-10-30 12:38                                                                                               ` Eli Zaretskii
2018-10-30 15:00                                                                                                 ` Stefan Monnier
2018-10-30 17:00                                                                                                   ` Eli Zaretskii
2018-10-30 17:27                                                                                                     ` Stefan Monnier
2018-10-30 17:36                                                                                                       ` Eli Zaretskii
2018-10-30 18:09                                                                                                         ` Stefan Monnier
2018-10-30 18:42                                                                                                           ` Eli Zaretskii
2018-10-30 18:58                                                                                                             ` Stefan Monnier
2018-10-31 12:08                                                                                                               ` Alan Mackenzie
2018-10-31 12:33                                                                                                                 ` Stefan Monnier
2018-10-31 15:47                                                                                                                   ` Eli Zaretskii
2018-10-31 16:07                                                                                                                     ` Alan Mackenzie
2018-10-31 16:20                                                                                                                       ` Eli Zaretskii
2018-11-01  8:36                                                                                                                         ` Achim Gratz
2018-11-01 10:36                                                                                                                           ` Alan Mackenzie
2018-11-01 12:29                                                                                                                             ` Achim Gratz
2018-11-01 14:19                                                                                                                             ` Michael Heerdegen
2018-11-03 13:16                                                                                                                     ` Eli Zaretskii
2018-11-03 15:45                                                                                                                       ` Michael Heerdegen
2018-11-03 16:25                                                                                                                         ` Eli Zaretskii
2018-11-03 17:12                                                                                                                           ` Michael Heerdegen
2018-11-03 17:55                                                                                                                             ` Eli Zaretskii
2018-11-03 22:22                                                                                                                               ` Michael Heerdegen
2018-11-04 14:16                                                                                                                                 ` Eli Zaretskii
2018-11-06  0:00                                                                                                                                   ` Michael Heerdegen
2018-11-06  3:30                                                                                                                                     ` Eli Zaretskii
2018-11-03 13:13                                                                                                               ` Eli Zaretskii
2018-10-30 18:24                                                                                                         ` Alan Mackenzie
2018-10-30 14:16                                                                                               ` Andy Moreton
2018-10-30 15:05                                                                                                 ` Clément Pit-Claudel
2018-10-30 18:14                                                                                                   ` Alan Mackenzie
2018-10-30 19:56                                                                                                     ` Clément Pit-Claudel
2018-10-31  0:08                                                                                                       ` Andy Moreton
2018-10-31  3:19                                                                                                         ` Stefan Monnier
2018-10-31 16:23                                                                                                         ` Clément Pit-Claudel
2018-11-01 14:44                                                                                                           ` Andy Moreton
2018-11-01 15:28                                                                                                             ` Clément Pit-Claudel
2018-10-30 17:22                                                                                           ` Michael Heerdegen
2018-10-30 17:31                                                                                             ` Stefan Monnier
2018-10-30 23:08                                                                                               ` Michael Heerdegen
2018-10-31  3:09                                                                                                 ` Stefan Monnier
2018-11-05  2:01                                                                                                   ` Michael Heerdegen
2018-11-05  4:49                                                                                                     ` Stefan Monnier
2018-11-05 23:06                                                                                                       ` Michael Heerdegen
2018-10-30 18:09                                                                                           ` Alan Mackenzie
2018-10-30 18:17                                                                                             ` Stefan Monnier
2018-10-30 19:00                                                                                               ` Alan Mackenzie
2018-10-31  0:21                                                                                                 ` Andy Moreton
2018-10-29 14:47                                                                                   ` Andy Moreton
2018-10-29 18:49                                                                                     ` pcase-lambda usage [Was: Re: Replace trivial pcase occurrences in the Emacs sources] Garreau, Alexandre
2018-10-30 23:34                                                                                   ` Replace trivial pcase occurrences in the Emacs sources Van L
2018-10-31  3:14                                                                                     ` Stefan Monnier
2018-10-23 17:22                                                                     ` John Wiegley
2018-10-23 17:16                                                                   ` Stefan Monnier
2016-01-04  2:54                                                       ` The poor state of documentation of pcase like things Michael Heerdegen
2016-01-02  1:15                           ` Richard Copley
2016-01-02  3:50                             ` Drew Adams
2016-01-02  3:51                         ` Drew Adams
     [not found]                     ` <<83y4c9ag06.fsf@gnu.org>
2016-01-01 15:18                       ` Drew Adams
2015-12-27  2:53                 ` Richard Stallman
2015-12-16 21:01 ` Drew Adams
2015-12-17 13:59 ` Phillip Lord
2015-12-17 17:06   ` Alan Mackenzie
2015-12-19 15:26 ` Michael Heerdegen
2015-12-19 16:04   ` Michael Heerdegen
2015-12-19 19:29     ` Phillip Lord
2015-12-19 21:14       ` Michael Heerdegen
2015-12-19 22:06         ` Phillip Lord
2015-12-19 16:47   ` Eli Zaretskii
2015-12-19 17:24     ` Michael Heerdegen
2015-12-22  5:25     ` John Wiegley
2015-12-19 18:30   ` Alan Mackenzie
2015-12-19 20:42     ` Michael Heerdegen
2015-12-19 22:25       ` Alan Mackenzie
2015-12-20 13:11         ` Michael Heerdegen

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=20181024083423.GA13100@Swift \
    --to=joostkremers@fastmail.fm \
    --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 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).