gleam/function

Functions

pub fn compose(fun1: fn(a) -> b, fun2: fn(b) -> c) -> fn(a) -> c

Takes two functions and chains them together to form one function that takes the input from the first and returns the output of the second.

pub fn curry2(fun: fn(a, b) -> c) -> fn(a) -> fn(b) -> c

Takes a function with arity two and returns a curried equivalent. fn(a, b) -> c becomes fn(a) -> fn(b) -> c

pub fn curry3(
  fun: fn(a, b, c) -> d,
) -> fn(a) -> fn(b) -> fn(c) -> d

Takes a function with arity three and returns a curried equivalent. fn(a, b, c) -> d becomes fn(a) -> fn(b) -> fn(c) -> d

pub fn curry4(
  fun: fn(a, b, c, d) -> e,
) -> fn(a) -> fn(b) -> fn(c) -> fn(d) -> e

Takes a function with arity four and returns a curried equivalent.

pub fn curry5(
  fun: fn(a, b, c, d, e) -> f,
) -> fn(a) -> fn(b) -> fn(c) -> fn(d) -> fn(e) -> f

Takes a function with arity five and returns a curried equivalent.

pub fn curry6(
  fun: fn(a, b, c, d, e, f) -> g,
) -> fn(a) -> fn(b) -> fn(c) -> fn(d) -> fn(e) -> fn(f) -> g

Takes a function with arity six and returns a curried equivalent.

pub fn flip(fun: fn(a, b) -> c) -> fn(b, a) -> c

Takes a function that takes two arguments and returns a new function that takes the same two arguments, but in reverse order.

pub fn identity(x: a) -> a

A function that always returns its input value.