gleam/function

Types

Exception

pub type Exception {
  Exited(Dynamic)
  Thrown(Dynamic)
  Errored(Dynamic)
}

Constructors

  • Exited(Dynamic)
  • Thrown(Dynamic)
  • Errored(Dynamic)

Functions

compose

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.

flip

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.

identity

pub fn identity(x: a) -> a

A function that always returns its input value.

rescue

pub external fn rescue(fn() -> a) -> Result(a, Exception)

Gleam doesn't offer any way to raise exceptions, but they may still occur due to bugs when working with unsafe code, such as when calling Erlang function.

This function will catch any error thrown and convert it into a result rather than crashing the process.