fluoresce

Types

pub type Cont(r, a) {
  Cont(run: fn(fn(a) -> r) -> r)
}

Constructors

  • Cont(run: fn(fn(a) -> r) -> r)
pub type Not(r, a) =
  fn(a) -> r
pub type Subtract(r, a, b) =
  #(a, Not(r, b))

Functions

pub fn apply(
  e: Cont(a, Result(b, c)),
  not_a: fn(c) -> a,
) -> Cont(a, b)
pub fn bind(c: Cont(a, b), f: fn(b) -> Cont(a, c)) -> Cont(a, c)
pub fn callcc(f: fn(fn(a) -> b) -> a) -> Cont(b, a)
pub fn co(
  f: fn(fn(a) -> b) -> Cont(b, c),
  rest: fn(Result(c, a)) -> Cont(b, d),
) -> Cont(b, d)
pub fn join(a: Cont(a, Cont(a, b))) -> Cont(a, b)
pub fn throw(a: a, not_a: fn(a) -> b) -> Cont(b, c)
pub fn wrap(a: a) -> Cont(b, a)
Search Document