From 66ca884d757fa14f56ea362a0da722e27804ad47 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sat, 16 Jan 2021 08:18:24 -0800 Subject: matcher: add lambda-match and defun-match * lisplib.c (match_set_entries): New autoload triggers. * share/txr/stdlib/match.tl (lambda-match, defun-match): New macros. --- share/txr/stdlib/match.tl | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'share') diff --git a/share/txr/stdlib/match.tl b/share/txr/stdlib/match.tl index 695a0310..9648901c 100644 --- a/share/txr/stdlib/match.tl +++ b/share/txr/stdlib/match.tl @@ -294,3 +294,13 @@ ^(let (,flag ,result) ,*clause-code ,result))) + +(defmacro lambda-match (. clauses) + (with-gensyms (args) + ^(lambda (. ,args) + (match-case ,args ,*clauses)))) + +(defmacro defun-match (name . clauses) + (with-gensyms (args) + ^(defun ,name (. ,args) + (match-case ,args ,*clauses)))) -- cgit v1.2.3