diff options
Diffstat (limited to 'stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux')
-rw-r--r-- | stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux index 21cf02c95..59193e0c8 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux @@ -15,6 +15,8 @@ [collection ["[0]" list ("[1]#[0]" functor)] ["[0]" dictionary {"+" Dictionary}]]] + [macro + ["^" pattern]] [math [number ["n" nat]]] @@ -135,7 +137,7 @@ Handler (function (_ extension_name analyse archive args) (case args - (^ (list opC)) + (pattern (list opC)) (<| typeA.with_var (function (_ [@var :var:])) (do [! ////.monad] @@ -152,7 +154,7 @@ Handler (function (_ extension_name analyse archive argsC+) (case argsC+ - (^ (list [_ {.#Text module_name}] exprC)) + (pattern (list [_ {.#Text module_name}] exprC)) (////analysis.with_current_module module_name (analyse archive exprC)) @@ -163,7 +165,7 @@ (-> Eval Handler) (function (_ extension_name analyse archive args) (case args - (^ (list typeC valueC)) + (pattern (list typeC valueC)) (do [! ////.monad] [actualT (# ! each (|>> (:as Type)) (eval archive Type typeC)) @@ -178,7 +180,7 @@ (-> Eval Handler) (function (_ extension_name analyse archive args) (case args - (^ (list typeC valueC)) + (pattern (list typeC valueC)) (do [! ////.monad] [actualT (# ! each (|>> (:as Type)) (eval archive Type typeC)) @@ -215,12 +217,12 @@ (do ! [input_type (///.lifted (meta.definition (symbol .Macro')))] (case input_type - (^or {.#Definition [exported? def_type def_value]} - {.#Type [exported? def_value labels]}) + (^.or {.#Definition [exported? def_type def_value]} + {.#Type [exported? def_value labels]}) (in (:as Type def_value)) - (^or {.#Tag _} - {.#Slot _}) + (^.or {.#Tag _} + {.#Slot _}) (////.failure (exception.error ..not_a_type [(symbol .Macro')])) {.#Alias real_name} |