1
0
mirror of https://github.com/janet-lang/janet synced 2024-11-24 17:27:18 +00:00

Merge pull request #517 from uvtc/patch-5

boot.janet, compare*, light formatting
This commit is contained in:
Calvin Rose 2020-12-04 17:37:06 -06:00 committed by GitHub
commit a8c21459c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -731,11 +731,11 @@
## Polymorphic comparisons ## Polymorphic comparisons
(defn compare (defn compare
`Polymorphic compare. Returns -1, 0, 1 for x < y, x = y, x > y respectively. ``Polymorphic compare. Returns -1, 0, 1 for x < y, x = y, x > y respectively.
Differs from the primitive comparators in that it first checks to Differs from the primitive comparators in that it first checks to
see whether either x or y implement a 'compare' method which can see whether either x or y implement a `compare` method which can
compare x and y. If so it uses that compare method. If not, it compare x and y. If so, it uses that method. If not, it
delegates to the primitive comparators.` delegates to the primitive comparators.``
[x y] [x y]
(or (or
(when-let [f (get x :compare)] (f x y)) (when-let [f (get x :compare)] (f x y))
@ -753,27 +753,27 @@
r) r)
(defn compare= (defn compare=
"Equivalent of '=' but using compare function instead of primitive comparator" ``Equivalent of `=` but using polymorphic `compare` instead of primitive comparator.``
[& xs] [& xs]
(compare-reduce = xs)) (compare-reduce = xs))
(defn compare< (defn compare<
"Equivalent of '<' but using compare function instead of primitive comparator" ``Equivalent of `<` but using polymorphic `compare` instead of primitive comparator.``
[& xs] [& xs]
(compare-reduce < xs)) (compare-reduce < xs))
(defn compare<= (defn compare<=
"Equivalent of '<=' but using compare function instead of primitive comparator" ``Equivalent of `<=` but using polymorphic `compare` instead of primitive comparator.``
[& xs] [& xs]
(compare-reduce <= xs)) (compare-reduce <= xs))
(defn compare> (defn compare>
"Equivalent of '>' but using compare function instead of primitive comparator" ``Equivalent of `>` but using polymorphic `compare` instead of primitive comparator.``
[& xs] [& xs]
(compare-reduce > xs)) (compare-reduce > xs))
(defn compare>= (defn compare>=
"Equivalent of '>=' but using compare function instead of primitive comparator" ``Equivalent of `>=` but using polymorphic `compare` instead of primitive comparator.``
[& xs] [& xs]
(compare-reduce >= xs)) (compare-reduce >= xs))