diff options
Diffstat (limited to 'stdlib/source/lux/compiler/default/phase/extension/analysis/common.lux')
-rw-r--r-- | stdlib/source/lux/compiler/default/phase/extension/analysis/common.lux | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/stdlib/source/lux/compiler/default/phase/extension/analysis/common.lux b/stdlib/source/lux/compiler/default/phase/extension/analysis/common.lux index 65fcf8550..884ef7302 100644 --- a/stdlib/source/lux/compiler/default/phase/extension/analysis/common.lux +++ b/stdlib/source/lux/compiler/default/phase/extension/analysis/common.lux @@ -147,29 +147,30 @@ (bundle.install "exit" (unary Int Nothing)) (bundle.install "current-time" (nullary Int))))) -(def: bundle::bit +(def: I64* (type (I64 Any))) + +(def: bundle::i64 Bundle - (<| (bundle.prefix "bit") + (<| (bundle.prefix "i64") (|> bundle.empty - (bundle.install "and" (binary Nat Nat Nat)) - (bundle.install "or" (binary Nat Nat Nat)) - (bundle.install "xor" (binary Nat Nat Nat)) - (bundle.install "left-shift" (binary Nat Nat Nat)) - (bundle.install "logical-right-shift" (binary Nat Nat Nat)) - (bundle.install "arithmetic-right-shift" (binary Int Nat Int)) - ))) + (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 Int)) (bundle.install "%" (binary Int Int Int)) - (bundle.install "=" (binary Int Int Bit)) - (bundle.install "<" (binary Int Int Bit)) + (bundle.install "<" (binary Int Int Int)) (bundle.install "to-frac" (unary Int Frac)) (bundle.install "char" (unary Int Text))))) @@ -210,7 +211,7 @@ (<| (bundle.prefix "lux") (|> bundle.empty (dictionary.merge (bundle::lux eval)) - (dictionary.merge bundle::bit) + (dictionary.merge bundle::i64) (dictionary.merge bundle::int) (dictionary.merge bundle::frac) (dictionary.merge bundle::text) |