From: Stefan Monnier Date: Wed, 24 Jan 2024 13:21:26 +0000 (-0500) Subject: * lisp/emacs-lisp/pcase.el (Commentary:): Add paper reference X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0ad538141f82e4c934aa9b3dfc25f29279807d75;p=emacs.git * lisp/emacs-lisp/pcase.el (Commentary:): Add paper reference (cherry picked from commit a043cccb62bfd1812cedf107db327039dfdfe89b) --- diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el index 5ac4b289a80..4754d4e720d 100644 --- a/lisp/emacs-lisp/pcase.el +++ b/lisp/emacs-lisp/pcase.el @@ -42,6 +42,14 @@ ;; - 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)