diff options
author | Marvin Borner | 2024-03-25 22:30:20 +0100 |
---|---|---|
committer | Marvin Borner | 2024-03-25 22:30:20 +0100 |
commit | d13df6b34ebdc6a2d3dd01b081617fe6e88feda8 (patch) | |
tree | d4d2fd4909887c243a478d80557103cee180b624 | |
parent | e4094fbc0c23e39d793d94197b6b4474ec26cccc (diff) |
Renamed number comparison functions
-rw-r--r-- | samples/euler/002.bruijn | 2 | ||||
-rw-r--r-- | samples/rosetta/compare_a_list_of_strings.bruijn | 6 | ||||
-rw-r--r-- | samples/rosetta/sorting_quicksort.bruijn | 4 | ||||
-rw-r--r-- | std/Char.bruijn | 6 | ||||
-rw-r--r-- | std/List.bruijn | 22 | ||||
-rw-r--r-- | std/Number/Binary.bruijn | 16 | ||||
-rw-r--r-- | std/Number/Ternary.bruijn | 20 | ||||
-rw-r--r-- | std/Number/Unary.bruijn | 16 | ||||
-rw-r--r-- | std/String.bruijn | 18 |
9 files changed, 55 insertions, 55 deletions
diff --git a/samples/euler/002.bruijn b/samples/euler/002.bruijn index a0b614c..8269a7b 100644 --- a/samples/euler/002.bruijn +++ b/samples/euler/002.bruijn @@ -6,7 +6,7 @@ lim (+34) solve [∑(crit <#> (take lim fibs))] - crit φ [[0 1 0]] even? (\les? 0) + crit φ [[0 1 0]] even? (\lt? 0) :test ((solve (+4000)) =? (+3382)) ([[1]]) diff --git a/samples/rosetta/compare_a_list_of_strings.bruijn b/samples/rosetta/compare_a_list_of_strings.bruijn index 636a98d..ba0fa76 100644 --- a/samples/rosetta/compare_a_list_of_strings.bruijn +++ b/samples/rosetta/compare_a_list_of_strings.bruijn @@ -2,7 +2,7 @@ all-eq? [land? (zip-with eq? 0 (tail 0))] -all-gre? [land? (zip-with les? 0 (tail 0))] +all-gt? [land? (zip-with lt? 0 (tail 0))] # --- tests --- @@ -12,7 +12,7 @@ list-b "abc" : ("def" : {}("ghi")) :test (all-eq? list-a) ([[1]]) :test (all-eq? list-b) ([[0]]) -:test (all-gre? list-a) ([[0]]) -:test (all-gre? list-b) ([[1]]) +:test (all-gt? list-a) ([[0]]) +:test (all-gt? list-b) ([[1]]) main [[0]] diff --git a/samples/rosetta/sorting_quicksort.bruijn b/samples/rosetta/sorting_quicksort.bruijn index 0413024..6e57bd9 100644 --- a/samples/rosetta/sorting_quicksort.bruijn +++ b/samples/rosetta/sorting_quicksort.bruijn @@ -4,8 +4,8 @@ sort y [[0 [[[case-sort]]] case-end]] case-sort (4 lesser) ++ (2 : (4 greater)) - lesser (\les? 2) <#> 1 - greater (\geq? 2) <#> 1 + lesser (\lt? 2) <#> 1 + greater (\ge? 2) <#> 1 case-end empty :test (sort ((+3) : ((+2) : {}(+1)))) ((+1) : ((+2) : {}(+3))) diff --git a/std/Char.bruijn b/std/Char.bruijn index 75a0ab3..f717346 100644 --- a/std/Char.bruijn +++ b/std/Char.bruijn @@ -19,7 +19,7 @@ number→char ternary→binary → (add '0') ⧗ Number → Char :test (number→char (+9)) ('9') # returns true if char is in A-Z -uppercase? φ and? (\geq? 'A') (\leq? 'Z') ⧗ Char → Boolean +uppercase? φ and? (\ge? 'A') (\le? 'Z') ⧗ Char → Boolean :test (uppercase? 'a') (false) :test (uppercase? 'z') (false) @@ -28,7 +28,7 @@ uppercase? φ and? (\geq? 'A') (\leq? 'Z') ⧗ Char → Boolean :test (uppercase? '0') (false) # returns true if char is in a-z -lowercase? φ and? (\geq? 'a') (\leq? 'z') ⧗ Char → Boolean +lowercase? φ and? (\ge? 'a') (\le? 'z') ⧗ Char → Boolean :test (lowercase? 'a') (true) :test (lowercase? 'z') (true) @@ -46,7 +46,7 @@ alpha? φ or? lowercase? uppercase? ⧗ Char → Boolean :test (alpha? '0') (false) # returns true if char is in 0-9 -numeric? φ and? (\geq? '0') (\leq? '9') ⧗ Char → Boolean +numeric? φ and? (\ge? '0') (\le? '9') ⧗ Char → Boolean :test (numeric? '0') (true) :test (numeric? '9') (true) diff --git a/std/List.bruijn b/std/List.bruijn index 09b16f9..799e966 100644 --- a/std/List.bruijn +++ b/std/List.bruijn @@ -333,7 +333,7 @@ cross3 [[[[[[2 : (1 : {}0)] <$> 2] <++> 2] <++> 2]]] ⧗ (List a) → (List a) # returns pair of take-while and drop-while span [[(take-while 1 0) : (drop-while 1 0)]] ⧗ (a → Boolean) → (List a) → (Pair (List a) (List a)) -:test (span (\les? (+3)) ((+1) : ((+2) : ((+4) : {}(+1))))) (((+1) : {}(+2)) : ((+4) : {}(+1))) +:test (span (\lt? (+3)) ((+1) : ((+2) : ((+4) : {}(+1))))) (((+1) : {}(+2)) : ((+4) : {}(+1))) # same as span but with inverted predicate # slower but equivalent: span ∘ (…∘… ¬‣) @@ -341,7 +341,7 @@ break [[left : right]] ⧗ (a → Boolean) → (List a) → (Pair (List a) (List left take-while (¬‣ ∘ 1) 0 right drop-while (¬‣ ∘ 1) 0 -:test (break (\gre? (+3)) ((+1) : ((+2) : ((+4) : {}(+1))))) (((+1) : {}(+2)) : ((+4) : {}(+1))) +:test (break (\gt? (+3)) ((+1) : ((+2) : ((+4) : {}(+1))))) (((+1) : {}(+2)) : ((+4) : {}(+1))) # groups list by eq predicate group-by z [[[rec]]] ⧗ (a → a → Boolean) → (List a) → (List (List a)) @@ -373,8 +373,8 @@ split-list-by z [[[rec]]] ⧗ (a → Boolean) → (List a) → (List (List a)) sort-asc z [[rec]] rec 0 [[[case-sort]]] case-end case-sort (4 lesser) ++ {}(2) ++ (4 greater) - lesser (\les? 2) <#> 1 - greater (\geq? 2) <#> 1 + lesser (\lt? 2) <#> 1 + greater (\ge? 2) <#> 1 case-end empty :test (sort-asc ((+3) : ((+2) : {}(+1)))) ((+1) : ((+2) : {}(+3))) @@ -383,14 +383,14 @@ sort-asc z [[rec]] sort-desc z [[rec]] rec 0 [[[case-sort]]] case-end case-sort (4 greater) ++ {}(2) ++ (4 lesser) - greater (\geq? 2) <#> 1 - lesser (\les? 2) <#> 1 + greater (\ge? 2) <#> 1 + lesser (\lt? 2) <#> 1 case-end empty :test (sort-desc ((+1) : ((+2) : {}(+3)))) ((+3) : ((+2) : {}(+1))) # inserts an element into a ascendingly sorted list -insert-sorted [go ∘ (span (\les? 0))] +insert-sorted [go ∘ (span (\lt? 0))] go [^0 ++ (1 : ~0)] :test (insert-sorted (+3) ((+1) : ((+2) : {}(+4)))) ((+1) : ((+2) : ((+3) : {}(+4)))) @@ -398,14 +398,14 @@ insert-sorted [go ∘ (span (\les? 0))] # returns true if any element in a list matches a predicate any? ⋁?‣ ∘∘ map ⧗ (a → Boolean) → (List a) → Boolean -:test (any? (\gre? (+2)) ((+1) : ((+2) : {}(+3)))) (true) -:test (any? (\gre? (+2)) ((+1) : ((+2) : {}(+2)))) (false) +:test (any? (\gt? (+2)) ((+1) : ((+2) : {}(+3)))) (true) +:test (any? (\gt? (+2)) ((+1) : ((+2) : {}(+2)))) (false) # returns true if all elements in a list match a predicate all? ⋀?‣ ∘∘ map ⧗ (a → Boolean) → (List a) → Boolean -:test (all? (\gre? (+2)) ((+3) : ((+4) : {}(+5)))) (true) -:test (all? (\gre? (+2)) ((+4) : ((+3) : {}(+2)))) (false) +:test (all? (\gt? (+2)) ((+3) : ((+4) : {}(+5)))) (true) +:test (all? (\gt? (+2)) ((+4) : ((+3) : {}(+2)))) (false) # returns true if element is part of a list based on eq predicate in? …∘… any? ⧗ (a → a → Boolean) → a → (List a) → Boolean diff --git a/std/Number/Binary.bruijn b/std/Number/Binary.bruijn index 064889d..eb63fe1 100644 --- a/std/Number/Binary.bruijn +++ b/std/Number/Binary.bruijn @@ -324,36 +324,36 @@ binary→ternary [y [[[rec]]] [0] 0 (+0t)] ⧗ Binary → Ternary # returns true if number is greater than other number # TODO: remove ternary conversion -gre? T.gre? ⋔ binary→ternary ⧗ Binary → Binary → Boolean +gt? T.gt? ⋔ binary→ternary ⧗ Binary → Binary → Boolean -…>?… gre? +…>?… gt? :test ((+1b) >? (+2b)) (false) :test ((+2b) >? (+2b)) (false) :test ((+3b) >? (+2b)) (true) # returns true if number is less than other number -les? \gre? ⧗ Binary → Binary → Boolean +lt? \gt? ⧗ Binary → Binary → Boolean -…<?… les? +…<?… lt? :test ((+1b) <? (+2b)) (true) :test ((+2b) <? (+2b)) (false) :test ((+3b) <? (+2b)) (false) # returns true if number is less than or equal to other number -leq? not! ∘∘ gre? ⧗ Binary → Binary → Boolean +le? not! ∘∘ gt? ⧗ Binary → Binary → Boolean -…≤?… leq? +…≤?… le? :test ((+1b) ≤? (+2b)) (true) :test ((+2b) ≤? (+2b)) (true) :test ((+3b) ≤? (+2b)) (false) # returns true if number is greater than or equal to other number -geq? \leq? ⧗ Binary → Binary → Boolean +ge? \le? ⧗ Binary → Binary → Boolean -…≥?… geq? +…≥?… ge? :test ((+1b) ≥? (+2b)) (false) :test ((+2b) ≥? (+2b)) (true) diff --git a/std/Number/Ternary.bruijn b/std/Number/Ternary.bruijn index 4eaaf5a..03af0e9 100644 --- a/std/Number/Ternary.bruijn +++ b/std/Number/Ternary.bruijn @@ -313,36 +313,36 @@ sub [[1 + -0]] ⧗ Number → Number → Number :test ((+42) - (+1) =? (+41)) (true) # returns true if number is greater than other number -gre? positive? ∘∘ sub ⧗ Number → Number → Boolean +gt? positive? ∘∘ sub ⧗ Number → Number → Boolean -…>?… gre? +…>?… gt? :test ((+1) >? (+2)) (false) :test ((+2) >? (+2)) (false) :test ((+3) >? (+2)) (true) # returns true if number is less than other number -les? \gre? ⧗ Number → Number → Boolean +lt? \gt? ⧗ Number → Number → Boolean -…<?… les? +…<?… lt? :test ((+1) <? (+2)) (true) :test ((+2) <? (+2)) (false) :test ((+3) <? (+2)) (false) # returns true if number is less than or equal to other number -leq? not! ∘∘ gre? ⧗ Number → Number → Boolean +le? not! ∘∘ gt? ⧗ Number → Number → Boolean -…≤?… leq? +…≤?… le? :test ((+1) ≤? (+2)) (true) :test ((+2) ≤? (+2)) (true) :test ((+3) ≤? (+2)) (false) # returns true if number is greater than or equal to other number -geq? \leq? ⧗ Number → Number → Boolean +ge? \le? ⧗ Number → Number → Boolean -…≥?… geq? +…≥?… ge? :test ((+1) ≥? (+2)) (false) :test ((+2) ≥? (+2)) (true) @@ -368,10 +368,10 @@ compare compare-case (+0) (+1) (-1) ⧗ Number → Number → Number c-eq? eq? (+0) ⧗ Number → Number # returns true if comparison result is less than (LT) -c-les? eq? (-1) ⧗ Number → Number +c-lt? eq? (-1) ⧗ Number → Number # returns true if comparison result is greater than (GT) -c-gre? eq? (+1) ⧗ Number → Number +c-gt? eq? (+1) ⧗ Number → Number # negates a balanced ternary number if <0 abs [<?0 -0 0] ⧗ Number → Number diff --git a/std/Number/Unary.bruijn b/std/Number/Unary.bruijn index 3b58ceb..bb3ef44 100644 --- a/std/Number/Unary.bruijn +++ b/std/Number/Unary.bruijn @@ -63,18 +63,18 @@ sub [[0 dec 1]] ⧗ Unary → Unary → Unary :test ((+5u) - (+3u)) ((+2u)) # returns true if number is less than or equal to other number -leq? zero? ∘∘ sub ⧗ Unary → Unary → Boolean +le? zero? ∘∘ sub ⧗ Unary → Unary → Boolean -…≤?… leq? +…≤?… le? :test ((+1u) ≤? (+2u)) (true) :test ((+2u) ≤? (+2u)) (true) :test ((+3u) ≤? (+2u)) (false) # returns true if number is greater than or equal to other number -geq? \leq? ⧗ Unary → Unary → Boolean +ge? \le? ⧗ Unary → Unary → Boolean -…≥?… geq? +…≥?… ge? :test ((+1u) ≥? (+2u)) (false) :test ((+2u) ≥? (+2u)) (true) @@ -82,9 +82,9 @@ geq? \leq? ⧗ Unary → Unary → Boolean # returns true if number is greater than other number # larger numbers should be second argument (performance) -gre? not! ∘∘ leq? ⧗ Unary → Unary → Boolean +gt? not! ∘∘ le? ⧗ Unary → Unary → Boolean -…>?… gre? +…>?… gt? :test ((+1u) >? (+2u)) (false) :test ((+2u) >? (+2u)) (false) @@ -92,9 +92,9 @@ gre? not! ∘∘ leq? ⧗ Unary → Unary → Boolean # returns true if number is less than other number # smaller numbers should be second argument (performance) -les? \gre? ⧗ Unary → Unary → Boolean +lt? \gt? ⧗ Unary → Unary → Boolean -…<?… les? +…<?… lt? :test ((+1u) <? (+2u)) (true) :test ((+2u) <? (+2u)) (false) diff --git a/std/String.bruijn b/std/String.bruijn index 6ffd1f4..291188d 100644 --- a/std/String.bruijn +++ b/std/String.bruijn @@ -35,36 +35,36 @@ compare compare-case (+0) (+1) (-1) ⧗ String → String → Number :test (compare "1" "12") ((+1)) # returns true if string is lexically less than other string -les? c-les? ∘∘ compare ⧗ String → String → Boolean +lt? c-lt? ∘∘ compare ⧗ String → String → Boolean -…<?… les? +…<?… lt? :test ("1" <? "2") (true) :test ("2" <? "2") (false) :test ("3" <? "2") (false) # returns true if string is lexically greater than other string -gre? \les? ⧗ String → String → Boolean +gt? \lt? ⧗ String → String → Boolean -…>?… gre? +…>?… gt? :test ("1" >? "2") (false) :test ("2" >? "2") (false) :test ("3" >? "2") (true) # returns true if string is lexically less than or equal to other string -leq? not! ∘∘ gre? ⧗ String → String → Boolean +le? not! ∘∘ gt? ⧗ String → String → Boolean -…≤?… leq? +…≤?… le? :test ("1" ≤? "2") (true) :test ("2" ≤? "2") (true) :test ("3" ≤? "2") (false) # returns true if number is greater than or equal to other string -geq? \leq? ⧗ String → String → Boolean +ge? \le? ⧗ String → String → Boolean -…≥?… geq? +…≥?… ge? :test ("1" ≥? "2") (false) :test ("2" ≥? "2") (true) @@ -97,7 +97,7 @@ string→signed-number [(sign ^0) (string→unsigned-number ~0)] ⧗ String → :test (%(string→signed-number "-123")) ((-123)) # converts signed/unsigned number strings to a number -string→number [C.les? ^0 '0' signed unsigned] ⧗ String → Number +string→number [C.lt? ^0 '0' signed unsigned] ⧗ String → Number signed string→signed-number 0 unsigned string→unsigned-number 0 |