std.function
compose : forall a b c. (b -> c) -> (a -> b) -> a -> c
Function composition, from right to left. That is, compose f g x
is
f (g x)
.
Examples
let f = std.function.compose (fun x => x + 1) (fun x => x / 2)
in
f 10
=> (10 / 2) + 1
=> 6
const : forall a b. a -> b -> a
Takes a value and returns the constant function which always returns
this value. Same as std.function.first
.
Examples
let f = std.function.const 5 in
f 7
=> 5
first : forall a b. a -> b -> a
Always returns the first argument, ignoring the second. Same as
std.function.const
.
Examples
std.function.first 5 7
=> 5
flip : forall a b c. (a -> b -> c) -> b -> a -> c
Flips the argument order for a two-argument function.
Examples
std.function.flip (fun x y => "%{x} %{y}") "world!" "Hello,"
=> "Hello, world!"
id : forall a. a -> a
The identity function, that is, id x
is x
for any value x
.
Examples
std.function.id null
=> null
(std.function.id (fun x => x + 1)) 0
=> 1
pipe : forall a. a -> Array (a -> a) -> a
Applies an array of functions to a value, in order.
Examples
std.function.pipe 2 [ (+) 2, (+) 3 ]
=> 7
std.function.pipe 'World [ std.string.from, fun s => "Hello, %{s}!" ]
=> "Hello, World!"
second : forall a b. a -> b -> b
Always returns the second argument, ignoring the first.
Examples
std.function.second 5 7
=> 7