Algae v0.12.2 API Reference

Modules

Represent branching conditions. These could be different return types, error vs nominal value, and so on

Represent one side of a branching condition. In the case of representing potential error conditions, Left is traditionally associated with the error branch

Represent one side of a branching condition. In the case of representing potential error conditions, Right is traditionally associated with the nominal branch

A “free” structure. Similar to lists

Deep holds two values: a value (often a functor) in deep, and another Algae.Free.t in deeper

Hold a simple value

The simplest ADT: a simple wrapper for some data

Kleisli helps to define Kleisli categories (and monadic arrows). The objects of this category are members of an underlying type, and the arrows between them. The arrows have an actual type of X -> T(Y), but by the nature of the category, are thought of as simply X -> Y

The sum of Algae.Maybe.Just and Algae.Maybe.Nothing. May represents the presence or absence of something

A simple, single-value-wrapping struct, much like Algae.Id. Represents the presence of a value; one possible analog of {:ok, value}

An empty struct. Cannot accept any values. Represents the lack of a value

A helpful way to store some data, and access it with a set function

Represent a binary tree. Nodes may be empty, a leaf, or a branch (recursive subtree)

A subtree containing left and right nodes

An empty tree node

A node containing a single value

A tree with any number of nodes at each level

A binary search tree, with values at each node, and branches on either side

A node with a value and two offshoot branches to either side

An empty node