From 7dc94b0ba528b40d13e88732ba307a1a24ac93c3 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Mon, 20 Aug 2018 18:57:06 -0400 Subject: - Fixed ordering issue with Lux arithmetic extensions. - Fixed naming issue with extensions. --- stdlib/source/lux.lux | 22 ++++++++++------------ .../lux/compiler/default/phase/extension.lux | 5 +++-- .../default/phase/extension/analysis/common.lux | 5 ++--- 3 files changed, 15 insertions(+), 17 deletions(-) (limited to 'stdlib') diff --git a/stdlib/source/lux.lux b/stdlib/source/lux.lux index 48540c114..bf92eb4db 100644 --- a/stdlib/source/lux.lux +++ b/stdlib/source/lux.lux @@ -1138,7 +1138,7 @@ (#.Cons export-meta #.Nil)) (#Function Nat (#Function Nat Nat)) - ("lux i64 -" param subject)) + ("lux i64 -" subject param)) (def:'' (n/* param subject) (#.Cons (doc-meta "Nat(ural) multiplication.") @@ -2204,9 +2204,7 @@ (def:''' low-mask (list) I64 - (|> 1 - ("lux i64 left-shift" 32) - ("lux i64 -" 1))) + ("lux i64 -" ("lux i64 left-shift" 32 1) 1)) (def:''' (low-bits value) (list) @@ -2376,7 +2374,7 @@ flat ("lux int *" ("lux coerce" Int quotient) ("lux coerce" Int param)) - remainder ("lux i64 -" flat subject)] + remainder ("lux i64 -" subject flat)] (if (n/< param remainder) quotient ("lux i64 +" 1 quotient))))) @@ -2389,7 +2387,7 @@ flat ("lux int *" ("lux coerce" Int div) ("lux coerce" Int param))] - [div ("lux i64 -" flat subject)])) + [div ("lux i64 -" subject flat)])) (def:''' #export (n/% param subject) (list [(tag$ ["lux" "doc"]) @@ -2398,14 +2396,14 @@ (let' [flat ("lux int *" ("lux coerce" Int (n// param subject)) ("lux coerce" Int param))] - ("lux i64 -" flat subject))) + ("lux i64 -" subject flat))) (do-template [ ] [(def:''' #export ( param subject) (list [(tag$ ["lux" "doc"]) (text$ )]) (-> ) - ( param subject))] + ( subject param))] [ Int i/+ "lux i64 +" "Int(eger) addition."] [ Int i/- "lux i64 -" "Int(eger) substraction."] @@ -2476,7 +2474,7 @@ (if ("lux i64 =" +0 trailing-zeroes) [1 ("lux i64 logical-right-shift" 1 remaining)] [trailing-zeroes remaining])) - shift ("lux i64 -" trailing-zeroes 64) + shift ("lux i64 -" 64 trailing-zeroes) numerator ("lux i64 left-shift" shift 1)] ("lux coerce" Rev ("lux int *" @@ -5172,11 +5170,11 @@ )] ($_ text/compose "\"" escaped "\""))) -(do-template [ ] - [(def: #export +(do-template [ ] + [(def: #export ( value) {#.doc } (All [s] (-> (I64 s) (I64 s))) - (|>> ( 1)))] + ( value 1))] [inc "lux i64 +" "Increment function."] [dec "lux i64 -" "Decrement function."] diff --git a/stdlib/source/lux/compiler/default/phase/extension.lux b/stdlib/source/lux/compiler/default/phase/extension.lux index 99c7152c7..38ca02700 100644 --- a/stdlib/source/lux/compiler/default/phase/extension.lux +++ b/stdlib/source/lux/compiler/default/phase/extension.lux @@ -5,10 +5,10 @@ ["ex" exception (#+ exception:)]] [data ["." error (#+ Error)] - ["." text + ["." text ("text/." Order) format] [collection - [list ("list/." Functor)] + ["." list ("list/." Functor)] ["." dictionary (#+ Dictionary)]]] ["." function]] ["." //]) @@ -48,6 +48,7 @@ ["Extension" (%t name)] ["Available" (|> bundle dictionary.keys + (list.sort text/<) (list/map (|>> %t (format "\n\t"))) (text.join-with ""))])) 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 a55e7b2b5..690a4accb 100644 --- a/stdlib/source/lux/compiler/default/phase/extension/analysis/common.lux +++ b/stdlib/source/lux/compiler/default/phase/extension/analysis/common.lux @@ -171,7 +171,7 @@ (bundle.install "/" (binary Int Int Int)) (bundle.install "%" (binary Int Int Int)) (bundle.install "<" (binary Int Int Bit)) - (bundle.install "to-frac" (unary Int Frac)) + (bundle.install "frac" (unary Int Frac)) (bundle.install "char" (unary Int Text))))) (def: bundle::frac @@ -188,8 +188,7 @@ (bundle.install "smallest" (nullary Frac)) (bundle.install "min" (nullary Frac)) (bundle.install "max" (nullary Frac)) - (bundle.install "to-rev" (unary Frac Rev)) - (bundle.install "to-int" (unary Frac Int)) + (bundle.install "int" (unary Frac Int)) (bundle.install "encode" (unary Frac Text)) (bundle.install "decode" (unary Text (type (Maybe Frac))))))) -- cgit v1.2.3