aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/math
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/library/lux/math.lux2
-rw-r--r--stdlib/source/library/lux/math/number/i64.lux2
-rw-r--r--stdlib/source/library/lux/math/number/int.lux2
-rw-r--r--stdlib/source/library/lux/math/number/nat.lux8
-rw-r--r--stdlib/source/library/lux/math/number/rev.lux26
-rw-r--r--stdlib/source/library/lux/math/random.lux8
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])