Class: Monad

gaius.Monad(value)

Represents a monad.

  1. M(x).bind(f).value == f(x).value
  2. M(x).bind(Monad).value == M(x).value
  3. M(x).bind(f).bind(g).value == M(x).bind(x => f(x).bind(g)).value

Constructor

new Monad(value)

Construct a monad.

Parameters:
Name Type Description
value *

the monadic value

Methods

bind(f) → {Monad|*}

Parameters:
Name Type Description
f function

a monadic function

Returns:
Type
Monad | *

map(f) → {Monad|*}

Parameters:
Name Type Description
f function

a monadic function

Returns:
Type
Monad | *