aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/control/function.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/lux/control/function.lux46
1 files changed, 0 insertions, 46 deletions
diff --git a/stdlib/source/lux/control/function.lux b/stdlib/source/lux/control/function.lux
deleted file mode 100644
index 56e54509c..000000000
--- a/stdlib/source/lux/control/function.lux
+++ /dev/null
@@ -1,46 +0,0 @@
-(.module:
- [lux #*
- [abstract
- [monoid (#+ Monoid)]]])
-
-(def: #export identity
- {#.doc (doc "Identity function."
- "Does nothing to its argument and just returns it."
- (is? (identity value)
- value))}
- (All [a] (-> a a))
- (|>>))
-
-(def: #export (compose f g)
- {#.doc (doc "Function composition."
- (= ((compose f g) "foo")
- (f (g "foo"))))}
- (All [a b c]
- (-> (-> b c) (-> a b) (-> a c)))
- (|>> g f))
-
-(def: #export (constant value)
- {#.doc (doc "Create constant functions."
- (= ((constant "foo") "bar")
- "foo"))}
- (All [o] (-> o (All [i] (-> i o))))
- (function (_ _) value))
-
-(def: #export (flip f)
- {#.doc (doc "Flips the order of the arguments of a function."
- (= ((flip f) "foo" "bar")
- (f "bar" "foo")))}
- (All [a b c]
- (-> (-> a b c) (-> b a c)))
- (function (_ x y) (f y x)))
-
-(def: #export (apply input function)
- (All [i o]
- (-> i (-> i o) o))
- (function input))
-
-(implementation: #export monoid
- (All [a] (Monoid (-> a a)))
-
- (def: identity ..identity)
- (def: compose ..compose))