aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r.lux54
1 files changed, 28 insertions, 26 deletions
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r.lux
index 6e2e8ccb2..ff391b986 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r.lux
@@ -1,35 +1,37 @@
(.using
- [library
- [lux "*"
- [abstract
- [monad {"+" do}]]
- [target
- ["_" r]]]]
- ["[0]" / "_"
- [runtime {"+" Phase}]
- ["[1][0]" primitive]
- ["[1][0]" structure]
+ [library
+ [lux "*"
+ [abstract
+ [monad {"+" do}]]
+ [macro
+ ["^" pattern]]
+ [target
+ ["_" r]]]]
+ ["[0]" / "_"
+ [runtime {"+" Phase}]
+ ["[1][0]" primitive]
+ ["[1][0]" structure]
+ ["[1][0]" reference]
+ ["[1][0]" case]
+ ["[1][0]" loop]
+ ["[1][0]" function]
+ ["/[1]" // "_"
["[1][0]" reference]
- ["[1][0]" case]
- ["[1][0]" loop]
- ["[1][0]" function]
["/[1]" // "_"
- ["[1][0]" reference]
+ ["[1][0]" extension]
["/[1]" // "_"
- ["[1][0]" extension]
- ["/[1]" // "_"
- [analysis {"+" }]
- ["[1][0]" synthesis]
- ["//[1]" /// "_"
- ["[1][0]" phase ("[1]#[0]" monad)]
- [reference {"+"}
- [variable {"+"}]]]]]]])
+ [analysis {"+" }]
+ ["[1][0]" synthesis]
+ ["//[1]" /// "_"
+ ["[1][0]" phase ("[1]#[0]" monad)]
+ [reference {"+"}
+ [variable {"+"}]]]]]]])
(def: .public (generate archive synthesis)
Phase
(case synthesis
- (^template [<tag> <generator>]
- [(^ (<tag> value))
+ (^.template [<tag> <generator>]
+ [(pattern (<tag> value))
(//////phase#in (<generator> value))])
([////synthesis.bit /primitive.bit]
[////synthesis.i64 /primitive.i64]
@@ -39,8 +41,8 @@
{////synthesis.#Reference value}
(//reference.reference /reference.system archive value)
- (^template [<tag> <generator>]
- [(^ (<tag> value))
+ (^.template [<tag> <generator>]
+ [(pattern (<tag> value))
(<generator> generate archive value)])
([////synthesis.variant /structure.variant]
[////synthesis.tuple /structure.tuple]