containers v0.3.2 Containers.Optional

Inspired by the Maybe type in other languages this container provides a way to wrap any value and safely transform the value. This should result in less runtime errors.

Implemented Protocols

  1. Appendable
  2. Mappable
  3. Sequenceable
  4. Unwrappable

NOTE Appendable assumes that the inner value implements the Appendable protocol. Until further research is done there does not seem to be a way to ensure this is true of the inner value at compile time.

Summary

Functions

Takes any value and puts it in the Optional container

Types

t()
t() :: %Containers.Optional{value: nil | any}

Functions

to_optional(v)
to_optional(any) :: t

Takes any value and puts it in the Optional container.

Examples

iex> Containers.Optional.to_optional(1)
%Containers.Optional{value: 1}