aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/macro/poly.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/lux/macro/poly.lux')
-rw-r--r--stdlib/source/lux/macro/poly.lux29
1 files changed, 15 insertions, 14 deletions
diff --git a/stdlib/source/lux/macro/poly.lux b/stdlib/source/lux/macro/poly.lux
index 3252cfeeb..decc25b93 100644
--- a/stdlib/source/lux/macro/poly.lux
+++ b/stdlib/source/lux/macro/poly.lux
@@ -63,20 +63,21 @@
(def: #export primitive
(Matcher Type)
(;function [:type:]
- (let% [<primitives> (do-template [<parser> <type>]
- [(do Monad<Lux>
- [_ (<parser> :type:)]
- (wrap <type>))]
-
- [void Void]
- [unit Unit]
- [bool Bool]
- [nat Nat]
- [int Int]
- [deg Deg]
- [real Real]
- [char Char]
- [text Text])]
+ (with-expansions
+ [<primitives> (do-template [<parser> <type>]
+ [(do Monad<Lux>
+ [_ (<parser> :type:)]
+ (wrap <type>))]
+
+ [void Void]
+ [unit Unit]
+ [bool Bool]
+ [nat Nat]
+ [int Int]
+ [deg Deg]
+ [real Real]
+ [char Char]
+ [text Text])]
($_ macro;either
<primitives>))))