diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/lux/abstract/monad.lux | 4 | ||||
-rw-r--r-- | stdlib/source/lux/abstract/order.lux | 7 |
2 files changed, 7 insertions, 4 deletions
diff --git a/stdlib/source/lux/abstract/monad.lux b/stdlib/source/lux/abstract/monad.lux index 5aec10012..491f9b6a2 100644 --- a/stdlib/source/lux/abstract/monad.lux +++ b/stdlib/source/lux/abstract/monad.lux @@ -128,12 +128,12 @@ (!@map (|>> (#.Cons _x)) (recur xs')))) !@join))))) -(def: #export (filter Monad<!> f) +(def: #export (filter monad f) {#.doc "Filter the values in a list with a monadic function."} (All [! a b] (-> (Monad !) (-> a (! Bit)) (List a) (! (List a)))) - (let [(^open "!@.") Monad<!>] + (let [(^open "!@.") monad] (function (recur xs) (case xs #.Nil diff --git a/stdlib/source/lux/abstract/order.lux b/stdlib/source/lux/abstract/order.lux index 5634aac80..c28026036 100644 --- a/stdlib/source/lux/abstract/order.lux +++ b/stdlib/source/lux/abstract/order.lux @@ -44,10 +44,13 @@ Choice (if (:: order < y x) y x)) -(structure: #export contravariant (Contravariant Order) +(structure: #export contravariant + (Contravariant Order) + (def: (map-1 f order) (structure - (def: &equivalence (:: equivalence.contravariant map-1 f (:: order &equivalence))) + (def: &equivalence + (:: equivalence.contravariant map-1 f (:: order &equivalence))) (def: (< reference sample) (:: order < (f reference) (f sample)))))) |