unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Garreau\, Alexandre" <galex-713@galex-713.eu>
To: Michael Heerdegen <michael_heerdegen@web.de>
Cc: Eli Zaretskii <eliz@gnu.org>,
	emacs-devel@gnu.org, Stefan Monnier <monnier@iro.umontreal.ca>,
	Dmitry Gutov <dgutov@yandex.ru>
Subject: How other pattern-matching lisps do [Was: Re: pcase ` meaning [Was: Re: Replace trivial pcase occurrences in the Emacs sources]]
Date: Sun, 28 Oct 2018 05:45:54 +0100	[thread overview]
Message-ID: <87d0rud6gt.fsf_-_@portable.galex-713.eu> (raw)
In-Reply-To: <87tvl6dc3e.fsf_-_@portable.galex-713.eu> (Alexandre Garreau's message of "Sun, 28 Oct 2018 03:44:21 +0100")

On 2018-10-28 at 03:44, Garreau, Alexandre wrote:
> Initially I expected this would have worked […]
>
> #+BEGIN_SRC emacs-lisp
>   (defun evaluate (exp env)
>     (pcase exp
>       (('add x y)       (+ (evaluate x env) (evaluate y env)))
>       (('call fun arg)  (funcall (evaluate fun env) (evaluate arg env)))
>       (('fn arg body)   (lambda (val)
>                             (evaluate body (cons (cons arg val) env))))
>       ((pred numberp)     exp)
>       ((pred symbolp)     (cdr (assq exp env)))
>       (_                  (error "Unknown expression %S" exp))))
> #+END_SRC
>
> […]
>
> It even more feel wrong that, this, doesn’t work, for no reason (it
> can’t be incompatible with the minilanguage):
>
> #+BEGIN_SRC emacs-lisp
>   (pcase [1 2]
>     ([a b] (+ a b)))
> #+END_SRC
>
> Yet that’s the most intuitive and straightforward way of using pattern
> matching.

Okay, so I went to search what is done in other pattern matching lisp
form.  The closer, yet quite straightforward, implementation of pattern
matching I found is the one found in Guile [0], claimed to be used in most
scheme implementation, which supports as well quasiquoting, but also raw
lists and vectors, because, according its manual:
>   The names ‘quote’, ‘quasiquote’, ‘unquote’, ‘unquote-splicing’, ‘?’,
> ‘_’, ‘$’, ‘and’, ‘or’, ‘not’, ‘set!’, ‘get!’, ‘...’, and ‘___’ cannot
> be used as pattern variables.

As you can see, it also supports `not', and some facilities for OOP.

I also found a cl library named cl-match [1], which also use its
minilanguage by default (but doesn’t support backquotes), so its
solution stays compatible: it uses sequences constructors such as
“cons”, “list”, “list*” (improper lists), or “array”/“vec” as patterns:

#+BEGIN_SRC lisp
  (match (list 1 2)
    ((list x y) (+ x y)))
#+END_SRC

It has several interesting forms pcase doesn’t seem to have (at least
not documented): such as “(as binding pattern)”, which matches
`pattern', and binds it to `binding' (so you can keep a binding though
binding subelement of it), or “(type type &optional pattern)” for
matching if it’s a given type, also more specific (hence semantic) and
shorter and simpler than “(and (pred typep) &optional pattern)”.

Then all other cl implementations I found (named either “match”, either
“unify”: the later is commutative, the former not) doesn’t do real
successive pattern matching, but simple destructuring (without `and',
`or', guards, or any minilanguage), yet unlike cl-destructuring-bind, in
a simpler way (without lambda-list-like arguments), and rather than
erroring out (making it unsuitable to successive tries of pattern
matching), they return either an environment, or something such as
'fail.  So it can be trivially used to make successive pattern-matching.

Going in this direction there’s first optima [2], which of course match
raw lists and such by default, but also have really interesting special
patterns, such as “(places symbol)”, that will bind to symbol, but using
symbol-macrolet, so that setf/cl-letf will work, or `(assoc 1
alist-pattern)' (so “(match '((1 . 2)) ((assoc 1 x) x))” returns 2), to
match content of an alist, or “property” for plists.

There are some others, generally a subset of what I described until
then, such as cl-unification [3].

One of these, the simpler I found, is one I found in an lisp files
archive annex [4] of a book that wasn’t freely available online /Lisp,
Third Edition/: it doesn’t appear to be free software, but it’s trivial
to understand: what it does is just match recursively plain conses
(hence lists), not even arrays or string, since it does eql on anything
else (just as case already wrongly do: what’s this fear of equal in
common lisp?), but it uses the special list (? symbol) to bind symbols.
Simply replacing “'?”  per “'var”, make it work in emacs-lisp, but as it
is not free there’s little interest in doing so.

In the end, I believe, before to even support arbitrary lists for when
the car is not a predefined pattern, it would be handy to support
constructors (hence simple new predefined patterns) such as “list” or
“vector”/“array”, that would make possible to remove all the confusing
backquotes.

However something such as (pcase-defmacro list (&rest args) ``(,@args))
(nor (pcase-defmacro list (&rest args) `(cons 'list args))) wouldn’t
work because multiple backquotes doesn’t seem to work.

[0] (info "(guile) Pattern Matching")
[1] https://common-lisp.net/project/cl-match/doc/clmatch-api.htm
[2] https://github.com/m2ym/optima
[3] https://common-lisp.net/project/cl-unification/
[4] http://people.csail.mit.edu/phw/Books/lisp.zip



  reply	other threads:[~2018-10-28  4:45 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                                                                                         ` Garreau, Alexandre [this message]
2018-10-28 13:44                                                                                           ` How other pattern-matching lisps do [Was: Re: pcase ` meaning [Was: Re: Replace trivial pcase occurrences in the Emacs sources]] 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
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=87d0rud6gt.fsf_-_@portable.galex-713.eu \
    --to=galex-713@galex-713.eu \
    --cc=dgutov@yandex.ru \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=michael_heerdegen@web.de \
    --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).