core: rename unsafe-range to range-or-default

This commit is contained in:
hellerve 2020-05-24 12:26:18 +02:00
parent 74d734903e
commit be8424657d
6 changed files with 40 additions and 40 deletions

View File

@ -24,8 +24,8 @@ the input given was wrong, containing an error message.")
(set! e (+ e step))))
(Result.Success x))))
(doc unsafe-range "is an unsafe version of [`range](#range). It returns an
empty array on failure.")
(defn unsafe-range [start end step]
(doc range-or-default "is an unsafe version of [`range](#range). It returns
an empty array on failure.")
(defn range-or-default [start end step]
(Result.from-success (range start end step) []))
)

View File

@ -965,6 +965,27 @@ the input given was wrong, containing an error message.</p>
</p>
</div>
<div class="binder">
<a class="anchor" href="#range-or-default">
<h3 id="range-or-default">
range-or-default
</h3>
</a>
<div class="description">
defn
</div>
<p class="sig">
(Fn [a, a, a] (Array a))
</p>
<pre class="args">
(range-or-default start end step)
</pre>
<p class="doc">
<p>is an unsafe version of <a href="#range">`range</a>. It returns
an empty array on failure.</p>
</p>
</div>
<div class="binder">
<a class="anchor" href="#raw">
<h3 id="raw">
@ -1480,27 +1501,6 @@ no longer satisfy <code>test</code>. The initial value is <code>start</code>.</p
</p>
</div>
<div class="binder">
<a class="anchor" href="#unsafe-range">
<h3 id="unsafe-range">
unsafe-range
</h3>
</a>
<div class="description">
defn
</div>
<p class="sig">
(Fn [a, a, a] (Array a))
</p>
<pre class="args">
(unsafe-range start end step)
</pre>
<p class="doc">
<p>is an unsafe version of <a href="#range">`range</a>. It returns an
empty array on failure.</p>
</p>
</div>
<div class="binder">
<a class="anchor" href="#unsafe-raw">
<h3 id="unsafe-raw">

View File

@ -45,7 +45,7 @@
ff2 @&ff1
to-copy @to
upper (to-copy)]
(endo-map &(fn [x] (Int.pow x exponent)) (unsafe-range 0 upper 1))))
(endo-map &(fn [x] (Int.pow x exponent)) (range-or-default 0 upper 1))))
(defn twenty [] 20)

View File

@ -14,7 +14,7 @@
(defn make-zero [] 0)
(defn make-idx [i] i)
(def a (unsafe-range 0 9 1))
(def a (range-or-default 0 9 1))
(def b (Array.replicate 5 "Hi"))
(deftest test
@ -77,7 +77,7 @@
"maximum works as expected")
(assert-ref-equal test
(Maybe.Just 1)
(minimum &(unsafe-range 1 10 1))
(minimum &(range-or-default 1 10 1))
"minimum works as expected")
(assert-ref-equal test
(Maybe.Just (Pair.init 2 1))
@ -96,19 +96,19 @@
"index-of works as expected when element is not in the array")
(assert-equal test
55
(sum &(unsafe-range 1 10 1))
(sum &(range-or-default 1 10 1))
"sum works as expected")
(assert-ref-equal test
[2 3]
(slice &(unsafe-range 1 10 1) 1 3)
(slice &(range-or-default 1 10 1) 1 3)
"slice works as expected")
(assert-ref-equal test
[1 2 3]
(prefix &(unsafe-range 1 10 1) 3)
(prefix &(range-or-default 1 10 1) 3)
"prefix works as expected")
(assert-ref-equal test
[8 9 10]
(suffix &(unsafe-range 1 10 1) 7)
(suffix &(range-or-default 1 10 1) 7)
"suffix works as expected")
(assert-nothing test
&(nth &a 100)
@ -244,7 +244,7 @@
"Array.pop-back! works as expected"))
(assert-ref-equal test
[1 2 3 4 5 6 7 8 9]
(sort (unsafe-range 9 1 -1))
(sort (range-or-default 9 1 -1))
"sort works as expected")
(let-do [arr [3 2 5]
exp [2 3 5]]
@ -264,23 +264,23 @@
(empty? &[1])
"empty? works as expected II")
(assert-true test
(any? &(fn [x] (= 0 @x)) &(unsafe-range 0 10 1))
(any? &(fn [x] (= 0 @x)) &(range-or-default 0 10 1))
"any? works as expected I")
(assert-false test
(any? &(fn [x] (= 0 @x)) &(unsafe-range 1 10 1))
(any? &(fn [x] (= 0 @x)) &(range-or-default 1 10 1))
"any? works as expected II")
(assert-true test
(all? &(fn [x] (< 0 @x)) &(unsafe-range 1 10 1))
(all? &(fn [x] (< 0 @x)) &(range-or-default 1 10 1))
"all? works as expected I")
(assert-false test
(all? &(fn [x] (= 0 @x)) &(unsafe-range 10 1 -1))
(all? &(fn [x] (= 0 @x)) &(range-or-default 10 1 -1))
"all? works as expected II")
(assert-ref-equal test
(Maybe.Just 3)
(find &(fn [x] (= 3 @x)) &(unsafe-range 1 10 1))
(find &(fn [x] (= 3 @x)) &(range-or-default 1 10 1))
"find works as expected I")
(assert-nothing test
&(find &(fn [x] (= 0 @x)) &(unsafe-range 1 10 1))
&(find &(fn [x] (= 0 @x)) &(range-or-default 1 10 1))
"find works as expected II")
(assert-nothing test
&(find-index &(fn [i] (Int.even? @i)) &[1 3 5])

View File

@ -224,7 +224,7 @@
; minimal case from bug #343
(let-do [arr [20 0 10 21 11 1 2 22 12 24 23 13 3 14 4 25 5 15 16 6 17 7 8 18 19 9]
exp (Array.unsafe-range 0 25 1)]
exp (Array.range-or-default 0 25 1)]
(Array.sort! &arr)
(assert-equal test
&exp

View File

@ -284,7 +284,7 @@
(assert (= &[@"c" @"b" @"a"] &xs)))))
(defn array-range []
(let [xs (Array.unsafe-range 0 5 1)]
(let [xs (Array.range-or-default 0 5 1)]
(assert (= &[0 1 2 3 4 5] &xs))))
(defmodule ArrayCompareExtension