Elixir v0.12.4

Modules summary

Application.Behaviour

Default callbacks for applications

Behaviour

Utilities for defining behaviour intefaces

Bitwise

This module provide macros and operators for bitwise operators. These macros can be used in guards

Code

Utilities for managing code compilation, code evaluation and code loading

Dict

This module specifies the Dict API expected to be implemented by different dictionaries. It also provides functions that redirect to the underlying Dict, allowing a developer to work with different Dict implementations using one API

Dict.Behaviour

Default implementations for some required functions in the Dict module

EEx

EEx stands for Embedded Elixir. It allows you to embed Elixir code inside a string in a robust way:

EEx.AssignsEngine

An abstract engine that, when used with the TransformerEngine, allows a developer to access assigns using @ as syntax

EEx.Engine

This is the basic EEx engine that ships with Elixir. An engine needs to implement two functions:

EEx.SmartEngine

An engine meant for end-user usage that includes EEx.AssignsEngine and other conveniences. Read EEx.AssignsEngine for examples

EEx.TransformerEngine

An abstract engine that is meant to be used and built upon in other modules. This engine implements the EEx.Engine behaviour and provides a transform overridable directive that allows a developer to customize the expression returned by the engine

Enum

Provides a set of algorithms that enumerate over collections according to the Enumerable protocol:

ExUnit

Basic unit testing framework for Elixir

ExUnit.Assertions

This module contains a set of assertion functions that are imported by default into your test cases

ExUnit.Callbacks

Defines ExUnit Callbacks

ExUnit.CaptureIO

Functionality to capture IO for testing

ExUnit.Case

Sets up an ExUnit test case

ExUnit.CaseTemplate

This module allows a developer to define a test case template to be used throughout his tests. This is useful when there are a set of functions that should be shared between tests or a set of setup/teardown callbacks

ExUnit.DocTest

ExUnit.DocTest implements functionality similar to Python's doctest

ExUnit.Filters

Conveniences for parsing and evaluating filters

ExUnit.Formatter

This module simply defines the callbacks expected by an ExUnit.Formatter

Exception

Convenience functions to work with and pretty print exceptions and stacktraces

File

This module contains functions to manipulate files

Float

Functions for working with floating point numbers

GenEvent.Behaviour

This module is a convenience for defining GenEvent callbacks in Elixir

GenFSM.Behaviour

This module is a convenience for defining GenFSM callbacks in Elixir

GenServer.Behaviour

This module is a convenience for defining GenServer callbacks in Elixir

HashDict

A key-value store

HashSet

A set store

IEx

Welcome to IEx

IEx.Helpers

Welcome to Interactive Elixir. You are currently seeing the documentation for the module IEx.Helpers which provides many helpers to make Elixir's shell more joyful to work with

IEx.Options

Provides an interface for adjusting options of the running IEx session

IO

Functions handling IO

IO.ANSI

Functionality to render ANSI escape sequences (http:\en.wikipedia.org/wiki/ANSIescapecode) — characters embedded in text used to control formatting, color, and other output options on video text terminals

Inspect.Algebra

A set of functions for creating and manipulating algebra documents, as described in ["Strictly Pretty" (2000) by Christian Lindig][0]

Integer

Functions for working with integers

Kernel

Kernel provides the default macros and functions Elixir imports into your environment. These macros and functions can be skipped or cherry-picked via the import macro. For instance, if you want to tell Elixir not to import the if macro, you can do:

Kernel.LexicalTracker
Kernel.ParallelCompiler

A module responsible for compiling files in parallel

Kernel.ParallelRequire

A module responsible for requiring files in parallel

Kernel.SpecialForms

In this module we define Elixir special forms. Special forms cannot be overridden by the developer and are the basic building blocks of Elixir code

Kernel.Typespec

Provides macros and functions for working with typespecs

Keyword

A keyword is a list of tuples where the first element of the tuple is an atom and the second element can be any value

List

Implements functions that only make sense for lists and cannot be part of the Enum protocol. In general, favor using the Enum API instead of List

ListDict

A Dict implementation that works on lists of two-items tuples

Macro

Conveniences for working with macros

Mix

Mix is a build tool that provides tasks for creating, compiling, testing (and soon deploying) Elixir projects. Mix is inspired by the Leiningen build tool for Clojure and was written by one of its contributors

Mix.Archive

Module responsible for managing archives

Mix.Deps

Common functions to work with dependencies

Mix.Generator

Conveniences for working with paths and generating content

Mix.Project

A module that provides conveniences for defining and working with projects

Mix.SCM

This module provides helper functions and defines the behaviour required by any SCM used by mix

Mix.Shell

Defines Mix.Shell contract

Mix.Shell.IO

This is Mix's default shell. It simply prints messages to stdio and stderr

Mix.Shell.Process

This is a Mix shell that uses the current process mailbox for communication instead of IO

Mix.Task

A simple module that provides conveniences for creating, loading and manipulating tasks

Mix.Tasks.App.Start

Starts all registered apps. If no apps key exists, it starts the current application

Mix.Tasks.Archive

Packages the current project (though not its dependencies) into a zip file according to the specification of the Erlang Archive Format

Mix.Tasks.Clean

Clean generated application files

Mix.Tasks.Cmd

Executes the given command

Mix.Tasks.Compile

A meta task that compiles source files. It simply runs the compilers registered in your project. At the end of compilation it ensures load paths are set

Mix.Tasks.Compile.App

Writes an .app file

Mix.Tasks.Compile.Elixir

Compiles Elixir source files

Mix.Tasks.Compile.Erlang

Compile Erlang source files

Mix.Tasks.Compile.Leex

Compile Leex source files

Mix.Tasks.Compile.Yecc

Compile Yecc source files

Mix.Tasks.Deps

List all dependencies and their status. The output is given as follows:

Mix.Tasks.Deps.Check

Checks if all dependencies are valid and if not, abort. Prints the invalid dependencies' status before aborting

Mix.Tasks.Deps.Clean

Remove the given dependencies' files

Mix.Tasks.Deps.Compile

Compile dependencies

Mix.Tasks.Deps.Get

Get all out of date dependencies, i.e. dependencies that are not available or have an invalid lock

Mix.Tasks.Deps.Loadpaths

Loads all dependencies for the current build. This is invoked directly by loadpaths when the CLI boots

Mix.Tasks.Deps.Unlock

Unlock the given dependencies

Mix.Tasks.Deps.Update

Update the given dependencies

Mix.Tasks.Do

Executes the tasks separated by comma

Mix.Tasks.Escriptize

Generates an escript for the project

Mix.Tasks.Help

If given a task name, prints the documentation for that task. If no task name is given, prints the short form documentation for all tasks

Mix.Tasks.Loadpaths

Load the application and its dependencies paths

Mix.Tasks.Local

List local tasks

Mix.Tasks.Local.Install

Install an archive locally

Mix.Tasks.Local.Rebar

Fetch a copy of rebar from the given path or url. It defaults to a rebar copy that ships with Elixir source if available or fetches it from https://github.com/elixir-lang/elixir/raw/3cf4c21ad1f4627585b80394c37ac9f4d39d3aa8/rebar. The local copy is stored in your MIX_HOME (defaults to ~/.mix)

Mix.Tasks.Local.Uninstall

Uninstall local tasks:

Mix.Tasks.New

Creates a new Elixir project. It expects the path of the project as argument

Mix.Tasks.Run

Runs the given file or expression in the context of the application

Mix.Tasks.Test

Run the tests for a project

Mix.Utils

Utilities used throughout Mix and tasks

Module

This module provides many functions to deal with modules during compilation time. It allows a developer to dynamically attach documentation, add, delete and register attributes and so forth

Node

Functions related to VM nodes

OptionParser

This module contains functions to parse command line arguments

Path

This module provides conveniences for manipulating or retrieving file system paths

Port

Functions related to Erlang ports

Process

Conveniences for working with processes and the process dictionary

Protocol.Consolidation

Module responsible for consolidating protocols and helpers for extracting protocols and implementations from code paths for consolidation

Range

Defines a Range

Record

Functions for working with Records

Regex

Regular expressions for Elixir built on top of the re module in the Erlang Standard Library. More information can be found in the re documentation

Set

This module specifies the Set API expected to be implemented by different representations

Stream

Module for creating and composing streams

String

A String in Elixir is a UTF-8 encoded binary

Supervisor.Behaviour

This module is a convenience to define Supervisor callbacks in Elixir. By using this module, you get the module behaviour automatically tagged as :supervisor and some helper functions are imported to make defining supervisors easier

System

The System module provides access to variables used or maintained by the VM and to functions that interact directly with the VM or the host system

Tuple

Functions for working with tuples

URI

Utilities for working with and creating URIs

Version

Functions for parsing and matching versions against requirements

Records summary

ArgumentError
ArithmeticError
BadArityError
BadFunctionError
CaseClauseError
Code.LoadError
CompileError
EEx.SyntaxError
Enum.EmptyError
Enum.OutOfBoundsError
ErlangError
ExUnit.AssertionError
ExUnit.DocTest.Error
ExUnit.ExpectationError
ExUnit.Test

A record that keeps information about the test. It is received by formatters and also accessible in the metadata under the key :test

ExUnit.TestCase

A record that keeps information about the test case. It is received by formatters and also accessible in the metadata under the key :case

File.CopyError
File.Error
File.Stat

A record responsible to hold file information. Its fields are:

FunctionClauseError
IO.StreamError
KeyError
Macro.Env

A record that holds compile time environment information

MatchError
Mix.Dep

This is a record that keeps information about your project dependencies. It contains:

Mix.ElixirVersionError
Mix.Error
Mix.InvalidTaskError
Mix.NoProjectError
Mix.NoTaskError
Protocol.UndefinedError
Regex.CompileError
RuntimeError
String.UnicodeConversionError
SyntaxError
SystemLimitError
TokenMissingError
TryClauseError
UndefinedFunctionError
Version.InvalidRequirement
Version.InvalidVersion

Protocols summary

Access

The Access protocol is the underlying protocol invoked when the brackets syntax is used. For instance, foo[bar] is translated to access foo, bar which, by default, invokes the Access.access protocol

Enumerable

Enumerable protocol used by Enum and Stream modules

Inspect

The Inspect protocol is responsible for converting any Elixir data structure into an algebra document. This document is then formatted, either in pretty printing format or a regular one

List.Chars

The List.Chars protocol is responsible for converting a structure to a list (only if applicable). The only function required to be implemented is to_char_list which does the conversion

Range.Iterator
String.Chars

The String.Chars protocol is responsible for converting a structure to a Binary (only if applicable). The only function required to be implemented is to_string which does the conversion