API Reference Elixir v1.12.0-dev


Key-based access to data structures.

Agents are a simple abstraction around state.

A module for working with applications and defining application callbacks.

Atoms are constants whose values are their own name.

This module provides data encoding and decoding functions according to RFC 4648.

Behaviour deprecated

Mechanism for handling behaviours.

A set of functions that perform calculations on bits.

This module defines the responsibilities for working with calendars, dates, times and datetimes in Elixir.

The default calendar implementation, a Gregorian calendar following ISO 8601.

This module defines a behaviour for providing time zone data.

Built-in time zone database that works only in Etc/UTC.

Utilities for managing code compilation, code evaluation, and code loading.

A protocol to traverse data structures.

A simple keyword-based configuration API.

Specifies a provider API that loads configuration during boot.

API for reading config files defined with Config.

A Date struct and functions.

Returns an inclusive range between dates.

A datetime implementation with a time zone.

Dict deprecated

Generic API for dictionaries.

A supervisor that starts children dynamically.

Provides a set of algorithms to work with enumerables.

Enumerable protocol used by Enum and Stream modules.

Functions to format throw/catch/exit and exceptions.

This module contains functions to manipulate files.

A struct that holds file information.

Defines a File.Stream struct returned by File.stream!/3.

Functions for working with floating-point numbers.

A set of functions for working with functions.

GenEvent deprecated

A event manager with event handlers behaviour.

A behaviour module for implementing the server of a client-server relation.

HashDict deprecated

Tuple-based HashDict implementation.

HashSet deprecated

Tuple-based HashSet implementation.


Functions handling input/output (IO).

Functionality to render ANSI escape sequences.

Defines an IO.Stream struct returned by IO.stream/2 and IO.binstream/2.

The Inspect protocol converts an Elixir data structure into an algebra document.

A set of functions for creating and manipulating algebra documents.

Raised when a struct cannot be inspected.

Defines the options used by the Inspect protocol.

Functions for working with integers.

Kernel is Elixir's default environment.

A module responsible for compiling and requiring files in parallel.

Special forms are the basic building blocks of Elixir, and therefore cannot be overridden by the developer.

A keyword list is a list that consists exclusively of two-element tuples.

Linked lists hold zero, one, or more elements in the chosen order.

The List.Chars protocol is responsible for converting a structure to a charlist (only if applicable).

Macros are compile-time constructs that are invoked with Elixir's AST as input and a superset of Elixir's AST as output.

A struct that holds compile time environment information.


Maps are the "go to" key-value data structure in Elixir.

Functions that work on sets.

Provides functions to deal with modules during compilation time.

A NaiveDateTime struct (without a time zone) and functions.

Functions related to VM nodes.

Functions for parsing command line arguments.

This module provides conveniences for manipulating or retrieving file system paths.

Functions for interacting with the external world through ports.

Conveniences for working with processes and the process dictionary.

Reference and functions for working with protocols.

Ranges represent a sequence of one or many, ascending or descending, consecutive integers.

Module to work with, define, and import records.

Provides regular expressions for Elixir.

A local, decentralized and scalable key-value process storage.

Set deprecated

Generic API for sets.

Functions for creating and composing streams.

Strings in Elixir are UTF-8 encoded binaries.

The String.Chars protocol is responsible for converting a structure to a binary (only if applicable).

Controls an IO device process that wraps a string.

A behaviour module for implementing supervisors.

Supervisor.Spec deprecated

Outdated functions for building child specifications.

The System module provides functions that interact directly with the VM or the host system.

Conveniences for spawning and awaiting tasks.

A task supervisor.

A Time struct and functions.

Functions for working with tuples.


Utilities for working with URIs.

Functions for parsing and matching versions against requirements.

A struct that holds version requirement information.