diff options
author | Eduardo Julian | 2019-02-04 00:19:57 -0400 |
---|---|---|
committer | Eduardo Julian | 2019-02-04 00:19:57 -0400 |
commit | 71a6928d3db3b05144c33516db307d5975a94dee (patch) | |
tree | fe087b91903c0dda41bfa84423d4958e1778f1b6 /stdlib/source/lux/control/order.lux | |
parent | cf9e3fa6fef24cc0828ab882661fa96dc6f2570d (diff) |
Changed the naming style for structures.
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/lux/control/order.lux | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/stdlib/source/lux/control/order.lux b/stdlib/source/lux/control/order.lux index 4375f4e7c..a56f512cb 100644 --- a/stdlib/source/lux/control/order.lux +++ b/stdlib/source/lux/control/order.lux @@ -6,12 +6,11 @@ [// ["." equivalence (#+ Equivalence)]]) -## [Signatures] (`` (signature: #export (Order a) {#.doc "A signature for types that possess some sense of ordering among their elements."} (: (Equivalence a) - eq) + &equivalence) (~~ (do-template [<name>] [(: (-> a a Bit) <name>)] @@ -20,20 +19,23 @@ )) )) -## [Values] -(def: #export (order eq <) +(def: #export (order equivalence <) (All [a] (-> (Equivalence a) (-> a a Bit) (Order a))) (let [> (flip <)] - (structure (def: eq eq) + (structure (def: &equivalence equivalence) + (def: < <) + (def: (<= test subject) (or (< test subject) - (:: eq = test subject))) + (:: equivalence = test subject))) + (def: > >) + (def: (>= test subject) (or (> test subject) - (:: eq = test subject)))))) + (:: equivalence = test subject)))))) (do-template [<name> <op>] [(def: #export (<name> order x y) @@ -45,14 +47,14 @@ [max >] ) -(`` (structure: #export _ (Contravariant Order) - (def: (map-1 f Order<b>) +(`` (structure: #export contravariant (Contravariant Order) + (def: (map-1 f order) (structure - (def: eq (:: equivalence.Contravariant<Equivalence> map-1 f (:: Order<b> eq))) + (def: &equivalence (:: equivalence.contravariant map-1 f (:: order &equivalence))) (~~ (do-template [<name>] [(def: (<name> reference sample) - (:: Order<b> <name> (f reference) (f sample)))] + (:: order <name> (f reference) (f sample)))] [<] [<=] [>] [>=] )))))) |