aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/macro/syntax.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/lux/macro/syntax.lux')
-rw-r--r--stdlib/source/lux/macro/syntax.lux6
1 files changed, 6 insertions, 0 deletions
diff --git a/stdlib/source/lux/macro/syntax.lux b/stdlib/source/lux/macro/syntax.lux
index d043a0b29..dd7a3ac06 100644
--- a/stdlib/source/lux/macro/syntax.lux
+++ b/stdlib/source/lux/macro/syntax.lux
@@ -408,6 +408,12 @@
(|> (map ast;to-text unconsumed-inputs)
(text;join-with ", "))))))))
+(def: #export (rec syntax)
+ {#;doc "Combinator for recursive syntax."}
+ (All [a] (-> (-> (Syntax a) (Syntax a)) (Syntax a)))
+ (lambda [inputs]
+ (run inputs (syntax (rec syntax)))))
+
## [Syntax]
(def: #hidden text.join-with text;join-with)