diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/library/lux/math.lux | 2 | ||||
-rw-r--r-- | stdlib/source/library/lux/math/number/i64.lux | 2 | ||||
-rw-r--r-- | stdlib/source/library/lux/math/number/int.lux | 2 | ||||
-rw-r--r-- | stdlib/source/library/lux/math/number/nat.lux | 8 | ||||
-rw-r--r-- | stdlib/source/library/lux/math/number/rev.lux | 26 | ||||
-rw-r--r-- | stdlib/source/library/lux/math/random.lux | 8 |
6 files changed, 24 insertions, 24 deletions
diff --git a/stdlib/source/library/lux/math.lux b/stdlib/source/library/lux/math.lux index 22b79ed09..616e32661 100644 --- a/stdlib/source/library/lux/math.lux +++ b/stdlib/source/library/lux/math.lux @@ -329,7 +329,7 @@ (loop [acc 1 it it] (if (n.> 1 it) - (recur (n.* it acc) (-- it)) + (again (n.* it acc) (-- it)) acc))) (def: .public (hypotenuse catA catB) diff --git a/stdlib/source/library/lux/math/number/i64.lux b/stdlib/source/library/lux/math/number/i64.lux index 03f2241af..651c9f943 100644 --- a/stdlib/source/library/lux/math/number/i64.lux +++ b/stdlib/source/library/lux/math/number/i64.lux @@ -151,7 +151,7 @@ (loop [iterations 1 output char] (if (n.< times iterations) - (recur (++ iterations) + (again (++ iterations) ("lux text concat" char output)) output)))) pattern (repetitions (n./ (n.+ size size) ..width) diff --git a/stdlib/source/library/lux/math/number/int.lux b/stdlib/source/library/lux/math/number/int.lux index 3aa65a4c4..d04023bcb 100644 --- a/stdlib/source/library/lux/math/number/int.lux +++ b/stdlib/source/library/lux/math/number/int.lux @@ -137,7 +137,7 @@ (case b1 +0 [[x y] a1] _ (let [q (/ b1 a1)] - (recur x1 (- (* q x1) x) + (again x1 (- (* q x1) x) y1 (- (* q y1) y) b1 (- (* q b1) a1)))))) diff --git a/stdlib/source/library/lux/math/number/nat.lux b/stdlib/source/library/lux/math/number/nat.lux index 515f5887a..a94118ad9 100644 --- a/stdlib/source/library/lux/math/number/nat.lux +++ b/stdlib/source/library/lux/math/number/nat.lux @@ -303,7 +303,7 @@ output' input' - (recur input' output'))))))) + (again input' output'))))))) (def: (decoded repr) (let [input_size ("lux text size" repr)] @@ -313,7 +313,7 @@ (if (..< input_size idx) (case (<to_value> ("lux text char" idx repr)) {.#Some digit_value} - (recur (++ idx) + (again (++ idx) (|> output ("lux i64 left-shift" <shift>) ("lux i64 or" digit_value))) @@ -341,7 +341,7 @@ output' input' - (recur input' output'))))) + (again input' output'))))) (def: (decoded repr) (let [input_size ("lux text size" repr)] @@ -355,7 +355,7 @@ <failure> {.#Some digit_value} - (recur (++ idx) + (again (++ idx) (|> output (..* 10) (..+ digit_value)))) {try.#Success output})) <failure>))))) diff --git a/stdlib/source/library/lux/math/number/rev.lux b/stdlib/source/library/lux/math/number/rev.lux index 7f594c5ac..acefd9944 100644 --- a/stdlib/source/library/lux/math/number/rev.lux +++ b/stdlib/source/library/lux/math/number/rev.lux @@ -241,7 +241,7 @@ output (: Text "")] (if (//nat.= 0 zeroes_left) output - (recur (-- zeroes_left) + (again (-- zeroes_left) ("lux text concat" "0" output)))))] (|> raw_output ("lux text concat" zero_padding) @@ -305,7 +305,7 @@ (let [raw (|> (..digit idx output) (//nat.* 5) (//nat.+ carry))] - (recur (-- idx) + (again (-- idx) (//nat./ 10 raw) (digits#put! idx (//nat.% 10 raw) output)))))) @@ -316,7 +316,7 @@ (digits#put! power 1))] (if (//int.< +0 (.int times)) output - (recur (-- times) + (again (-- times) (digits#times_5! power output))))) (def: (format digits) @@ -331,8 +331,8 @@ (let [digit (..digit idx digits)] (if (and (//nat.= 0 digit) all_zeroes?) - (recur (-- idx) true output) - (recur (-- idx) + (again (-- idx) true output) + (again (-- idx) false ("lux text concat" (# //nat.decimal encoded digit) @@ -349,7 +349,7 @@ carry (..digit idx param) (..digit idx subject))] - (recur (-- idx) + (again (-- idx) (//nat./ 10 raw) (digits#put! idx (//nat.% 10 raw) output)))))) @@ -366,7 +366,7 @@ {.#None} {.#Some digit} - (recur (++ idx) + (again (++ idx) (digits#put! idx digit output))) {.#Some output}))))) @@ -377,7 +377,7 @@ (let [pd (..digit idx param) sd (..digit idx subject)] (if (//nat.= pd sd) - (recur (++ idx)) + (again (++ idx)) (//nat.< pd sd)))))) (def: (digits#-!' idx param subject) @@ -398,7 +398,7 @@ output subject] (if (//int.< +0 (.int idx)) output - (recur (-- idx) + (again (-- idx) (digits#-!' idx (..digit idx param) output))))) (implementation: .public decimal @@ -418,9 +418,9 @@ (if (//i64.one? idx input) (let [digits' (digits#+! (power_digits (//nat.- idx last_idx)) digits)] - (recur (-- idx) + (again (-- idx) digits')) - (recur (-- idx) + (again (-- idx) digits))))))) (def: (decoded input) @@ -443,8 +443,8 @@ (let [power (power_digits idx)] (if (digits#< power digits) ... Skip power - (recur digits (++ idx) output) - (recur (digits#-! power digits) + (again digits (++ idx) output) + (again (digits#-! power digits) (++ idx) (//i64.one (//nat.- idx (-- //i64.width)) output)))) {try.#Success (.rev output)})) diff --git a/stdlib/source/library/lux/math/random.lux b/stdlib/source/library/lux/math/random.lux index 3b0d97912..a7fffe898 100644 --- a/stdlib/source/library/lux/math/random.lux +++ b/stdlib/source/library/lux/math/random.lux @@ -277,7 +277,7 @@ .let [xs+ (set.has x xs)]] (if (n.= size (set.size xs+)) (in xs+) - (recur []))))) + (again []))))) (# ..monad in (set.empty hash)))) (def: .public (dictionary hash size key_gen value_gen) @@ -292,7 +292,7 @@ .let [kv+ (dictionary.has k v kv)]] (if (n.= size (dictionary.size kv+)) (in kv+) - (recur []))))) + (again []))))) (# ..monad in (dictionary.empty hash)))) (def: .public instant @@ -344,9 +344,9 @@ (def: .public (prng update return) (All (_ a) (-> (-> a a) (-> a I64) (-> a PRNG))) - (function (recur state) + (function (again state) (function (_ _) - [(recur (update state)) + [(again (update state)) (return state)]))) (def: .public (pcg_32 [increase seed]) |