aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/abstract/order.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/lux/abstract/order.lux')
-rw-r--r--stdlib/source/lux/abstract/order.lux57
1 files changed, 0 insertions, 57 deletions
diff --git a/stdlib/source/lux/abstract/order.lux b/stdlib/source/lux/abstract/order.lux
deleted file mode 100644
index 9d031bca2..000000000
--- a/stdlib/source/lux/abstract/order.lux
+++ /dev/null
@@ -1,57 +0,0 @@
-(.module:
- [lux #*
- [control
- ["." function]]]
- [//
- ["." equivalence (#+ Equivalence)]
- [functor
- ["." contravariant]]])
-
-(interface: #export (Order a)
- {#.doc "A signature for types that possess some sense of ordering among their elements."}
-
- (: (Equivalence a)
- &equivalence)
-
- (: (-> a a Bit)
- <)
- )
-
-(type: #export (Comparison a)
- (-> (Order a) a a Bit))
-
-(def: #export (<= order parameter subject)
- Comparison
- (or (\ order < parameter subject)
- (\ order = parameter subject)))
-
-(def: #export (> order parameter subject)
- Comparison
- (\ order < subject parameter))
-
-(def: #export (>= order parameter subject)
- Comparison
- (or (\ order < subject parameter)
- (\ order = subject parameter)))
-
-(type: #export (Choice a)
- (-> (Order a) a a a))
-
-(def: #export (min order x y)
- Choice
- (if (\ order < y x) x y))
-
-(def: #export (max order x y)
- Choice
- (if (\ order < y x) y x))
-
-(implementation: #export functor
- (contravariant.Functor Order)
-
- (def: (map f order)
- (implementation
- (def: &equivalence
- (\ equivalence.functor map f (\ order &equivalence)))
-
- (def: (< reference sample)
- (\ order < (f reference) (f sample))))))