I recently found out how powerful the iex tool is for documentation.
This is the general form of getting detailed documentation:
This is the start of a long series about the modules that you get out of the box.
1> h Module.function_name/arity
This returns the documentation on this specific function in the specific module.
I also found that typing a capital letter and tab expands the known modules.
Here is an introduction to what you get out of the box with iex:
| Letter | Module | Description |
| A | Access | Key based access to structures. |
| Agent | Simple abstraction around state | |
| Application | Working with applications and their callbacks | |
| ArgumentError | This is a struct used for errors. | |
| ArithmeticError | This is a struct used for errors. | |
| Atom | Convenience functions for working with atoms. |
Translating Elixir/Erlang terms:
An application is equivalent of a windows DLL, something that you compose a system out of. A typical application would be a logging system.
Atoms are a non-garbage collected resource. They make convenient aliases to global things.
Doing the same with :a gives the erlang modules
| Letter | Module | Description |
| a | application | Generic OTP Application |
| application_controller | Kernel supplied application controller | |
| application_master | Kernel supplied application master. Responsible for knowing the topmost supervisor | |
| application_starter | Responsible for starting applications in a defined order | |
| array | Array structure, fixed or extensible | |
| atomics | Provides atomic operations using hardware instructions | |
| auth | Erlang network authentication server (deprecated) |