diff options
Diffstat (limited to 'stdlib/source/lux/tool/compiler/phase/extension/analysis/common.lux')
-rw-r--r-- | stdlib/source/lux/tool/compiler/phase/extension/analysis/common.lux | 130 |
1 files changed, 65 insertions, 65 deletions
diff --git a/stdlib/source/lux/tool/compiler/phase/extension/analysis/common.lux b/stdlib/source/lux/tool/compiler/phase/extension/analysis/common.lux index ed71847c2..dbe0b10ca 100644 --- a/stdlib/source/lux/tool/compiler/phase/extension/analysis/common.lux +++ b/stdlib/source/lux/tool/compiler/phase/extension/analysis/common.lux @@ -13,16 +13,16 @@ ["." macro] [io (#+ IO)]] ["." /// - ["." bundle] - ["//." // + ["#." bundle] + ["#/" // [analysis [".A" type] [".A" case] [".A" function]] - [// + ["#/" // [default [evaluation (#+ Eval)]] - ["." analysis (#+ Analysis Handler Bundle)]]]]) + ["#." analysis (#+ Analysis Handler Bundle)]]]]) ## [Utils] (def: (simple inputsT+ outputT) @@ -38,7 +38,7 @@ (typeA.with-type argT (analyse argC))) (list.zip2 inputsT+ args))] - (wrap (#analysis.Extension extension-name argsA))) + (wrap (#/////analysis.Extension extension-name argsA))) (////.throw ///.incorrect-arity [extension-name num-expected num-actual])))))) (def: #export (nullary valueT) @@ -79,7 +79,7 @@ _ (typeA.infer (type (Either Text varT))) opA (typeA.with-type (type (IO varT)) (analyse opC))] - (wrap (#analysis.Extension extension-name (list opA)))) + (wrap (#/////analysis.Extension extension-name (list opA)))) _ (////.throw ///.incorrect-arity [extension-name 1 (list.size args)])))) @@ -89,7 +89,7 @@ (function (_ extension-name analyse argsC+) (case argsC+ (^ (list [_ (#.Text module-name)] exprC)) - (analysis.with-current-module module-name + (/////analysis.with-current-module module-name (analyse exprC)) _ @@ -132,85 +132,85 @@ (def: (bundle::lux eval) (-> Eval Bundle) - (|> bundle.empty - (bundle.install "is" lux::is) - (bundle.install "try" lux::try) - (bundle.install "check" (lux::check eval)) - (bundle.install "coerce" (lux::coerce eval)) - (bundle.install "check type" lux::check::type) - (bundle.install "in-module" lux::in-module))) + (|> ///bundle.empty + (///bundle.install "is" lux::is) + (///bundle.install "try" lux::try) + (///bundle.install "check" (lux::check eval)) + (///bundle.install "coerce" (lux::coerce eval)) + (///bundle.install "check type" lux::check::type) + (///bundle.install "in-module" lux::in-module))) (def: bundle::io Bundle - (<| (bundle.prefix "io") - (|> bundle.empty - (bundle.install "log" (unary Text Any)) - (bundle.install "error" (unary Text Nothing)) - (bundle.install "exit" (unary Int Nothing)) - (bundle.install "current-time" (nullary Int))))) + (<| (///bundle.prefix "io") + (|> ///bundle.empty + (///bundle.install "log" (unary Text Any)) + (///bundle.install "error" (unary Text Nothing)) + (///bundle.install "exit" (unary Int Nothing)) + (///bundle.install "current-time" (nullary Int))))) (def: I64* (type (I64 Any))) (def: bundle::i64 Bundle - (<| (bundle.prefix "i64") - (|> bundle.empty - (bundle.install "and" (binary I64* I64* I64)) - (bundle.install "or" (binary I64* I64* I64)) - (bundle.install "xor" (binary I64* I64* I64)) - (bundle.install "left-shift" (binary Nat I64* I64)) - (bundle.install "logical-right-shift" (binary Nat I64* I64)) - (bundle.install "arithmetic-right-shift" (binary Nat I64* I64)) - (bundle.install "+" (binary I64* I64* I64)) - (bundle.install "-" (binary I64* I64* I64)) - (bundle.install "=" (binary I64* I64* Bit))))) + (<| (///bundle.prefix "i64") + (|> ///bundle.empty + (///bundle.install "and" (binary I64* I64* I64)) + (///bundle.install "or" (binary I64* I64* I64)) + (///bundle.install "xor" (binary I64* I64* I64)) + (///bundle.install "left-shift" (binary Nat I64* I64)) + (///bundle.install "logical-right-shift" (binary Nat I64* I64)) + (///bundle.install "arithmetic-right-shift" (binary Nat I64* I64)) + (///bundle.install "+" (binary I64* I64* I64)) + (///bundle.install "-" (binary I64* I64* I64)) + (///bundle.install "=" (binary I64* I64* Bit))))) (def: bundle::int Bundle - (<| (bundle.prefix "int") - (|> bundle.empty - (bundle.install "*" (binary Int Int Int)) - (bundle.install "/" (binary Int Int Int)) - (bundle.install "%" (binary Int Int Int)) - (bundle.install "<" (binary Int Int Bit)) - (bundle.install "frac" (unary Int Frac)) - (bundle.install "char" (unary Int Text))))) + (<| (///bundle.prefix "int") + (|> ///bundle.empty + (///bundle.install "*" (binary Int Int Int)) + (///bundle.install "/" (binary Int Int Int)) + (///bundle.install "%" (binary Int Int Int)) + (///bundle.install "<" (binary Int Int Bit)) + (///bundle.install "frac" (unary Int Frac)) + (///bundle.install "char" (unary Int Text))))) (def: bundle::frac Bundle - (<| (bundle.prefix "frac") - (|> bundle.empty - (bundle.install "+" (binary Frac Frac Frac)) - (bundle.install "-" (binary Frac Frac Frac)) - (bundle.install "*" (binary Frac Frac Frac)) - (bundle.install "/" (binary Frac Frac Frac)) - (bundle.install "%" (binary Frac Frac Frac)) - (bundle.install "=" (binary Frac Frac Bit)) - (bundle.install "<" (binary Frac Frac Bit)) - (bundle.install "smallest" (nullary Frac)) - (bundle.install "min" (nullary Frac)) - (bundle.install "max" (nullary Frac)) - (bundle.install "int" (unary Frac Int)) - (bundle.install "encode" (unary Frac Text)) - (bundle.install "decode" (unary Text (type (Maybe Frac))))))) + (<| (///bundle.prefix "frac") + (|> ///bundle.empty + (///bundle.install "+" (binary Frac Frac Frac)) + (///bundle.install "-" (binary Frac Frac Frac)) + (///bundle.install "*" (binary Frac Frac Frac)) + (///bundle.install "/" (binary Frac Frac Frac)) + (///bundle.install "%" (binary Frac Frac Frac)) + (///bundle.install "=" (binary Frac Frac Bit)) + (///bundle.install "<" (binary Frac Frac Bit)) + (///bundle.install "smallest" (nullary Frac)) + (///bundle.install "min" (nullary Frac)) + (///bundle.install "max" (nullary Frac)) + (///bundle.install "int" (unary Frac Int)) + (///bundle.install "encode" (unary Frac Text)) + (///bundle.install "decode" (unary Text (type (Maybe Frac))))))) (def: bundle::text Bundle - (<| (bundle.prefix "text") - (|> bundle.empty - (bundle.install "=" (binary Text Text Bit)) - (bundle.install "<" (binary Text Text Bit)) - (bundle.install "concat" (binary Text Text Text)) - (bundle.install "index" (trinary Text Text Nat (type (Maybe Nat)))) - (bundle.install "size" (unary Text Nat)) - (bundle.install "char" (binary Text Nat Nat)) - (bundle.install "clip" (trinary Text Nat Nat Text)) + (<| (///bundle.prefix "text") + (|> ///bundle.empty + (///bundle.install "=" (binary Text Text Bit)) + (///bundle.install "<" (binary Text Text Bit)) + (///bundle.install "concat" (binary Text Text Text)) + (///bundle.install "index" (trinary Text Text Nat (type (Maybe Nat)))) + (///bundle.install "size" (unary Text Nat)) + (///bundle.install "char" (binary Text Nat Nat)) + (///bundle.install "clip" (trinary Text Nat Nat Text)) ))) (def: #export (bundle eval) (-> Eval Bundle) - (<| (bundle.prefix "lux") - (|> bundle.empty + (<| (///bundle.prefix "lux") + (|> ///bundle.empty (dictionary.merge (bundle::lux eval)) (dictionary.merge bundle::i64) (dictionary.merge bundle::int) |