]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/pcase.el (Commentary:): Add paper reference
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 24 Jan 2024 13:21:26 +0000 (08:21 -0500)
committerEshel Yaron <me@eshelyaron.com>
Wed, 24 Jan 2024 18:31:54 +0000 (19:31 +0100)
(cherry picked from commit a043cccb62bfd1812cedf107db327039dfdfe89b)

lisp/emacs-lisp/pcase.el

index 5ac4b289a80e88a1c722c00a22843db5af6be090..4754d4e720d8e50e87b65c77d9ac8d87ded9ba42 100644 (file)
 ;; - ideally we'd want (pcase s ((re RE1) E1) ((re RE2) E2)) to be able to
 ;;   generate a lex-style DFA to decide whether to run E1 or E2.
 
+;; While the first version was written before I knew about Racket's `match'
+;; construct, the second version was significantly influenced by it,
+;; so a good presentation of the underlying ideas can be found at:
+;;
+;;   Extensible Pattern Matching in an Extensible Language
+;;   Sam Tobin-Hochstadt, 2010
+;;   https://arxiv.org/abs/1106.2578
+
 ;;; Code:
 
 (require 'macroexp)