emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master a043cccb62b: * lisp/emacs-lisp/pcase.el (Commentary:): Add paper


From: Stefan Monnier
Subject: master a043cccb62b: * lisp/emacs-lisp/pcase.el (Commentary:): Add paper reference
Date: Wed, 24 Jan 2024 08:21:35 -0500 (EST)

branch: master
commit a043cccb62bfd1812cedf107db327039dfdfe89b
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    * lisp/emacs-lisp/pcase.el (Commentary:): Add paper reference
---
 lisp/emacs-lisp/pcase.el | 8 ++++++++
 1 file changed, 8 insertions(+)

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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]