View Source Funx.Monad.Identity (funx v0.3.0)

The Funx.Monad.Identity module represents the identity monad, where values are simply wrapped in a structure and operations are applied directly to those values.

Functions

  • pure/1: Wraps a value in the Identity monad.
  • extract/1: Extracts the wrapped value from an Identity.

Protocols

This module implements the following protocols:

Summary

Functions

Extracts the value from an Identity.

Creates a new Identity value by wrapping a given value.

Types

@type t(value) :: %Funx.Monad.Identity{value: value}

Functions

@spec extract(t(value)) :: value when value: term()

Extracts the value from an Identity.

Examples

iex> Funx.Monad.Identity.extract(Funx.Monad.Identity.pure(5))
5
@spec pure(value) :: t(value) when value: term()

Creates a new Identity value by wrapping a given value.

Examples

iex> Funx.Monad.Identity.pure(5)
%Funx.Monad.Identity{value: 5}