437 Contributors: 19 Tuesday, July 25, 2017
Licensed under: CC-BY-SA
Not affiliated with Stack Overflow
Rip Tutorial:
Roadmap: roadmap

Getting started with Elixir Language


Elixir is a dynamic, functional language designed for building scalable and maintainable applications.

Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.


VersionRelease Date

Hello World

For installation instructions on elixir check here, it describes instructions related to different platforms.

Elixir is a programming language that is created using erlang, and uses erlang's BEAM runtime (like JVM for java).

We can use elixir in two modes: interactive shell iex or directly running using elixir command.

Place the following in a file named hello.exs:

IO.puts "Hello world!"

From the command line, type the following command to execute the Elixir source file:

$ elixir hello.exs

This should output:

Hello world!

This is known as the scripted mode of Elixir. In fact, Elixir programs can also be compiled (and generally, they are) into bytecode for the BEAM virtual machine.

You can also use iex for interactive elixir shell (recommended), run the command you will get a prompt like this:

Interactive Elixir (1.3.4) - press Ctrl+C to exit (type h() ENTER for help)

Here you can try your elixir hello world examples:

iex(1)> IO.puts "hello, world"
hello, world

You can also compile and run your modules through iex. For example, if you have a helloworld.ex that contains:

defmodule Hello do
   def sample do
       IO.puts "Hello World!"

Through iex, do:

iex(1)> c("helloworld.ex")
iex(2)> Hello.sample
Hello World!

Hello World from IEx

You can also use the IEx (Interactive Elixir) shell to evaluate expressions and execute code.

If you are on Linux or Mac, just type iex on your bash and press enter:

$ iex

If you are on a Windows machine, type:

C:\ iex.bat

Then you will enter into the IEx REPL (Read, Evaluate, Print, Loop), and you can just type something like:

iex(1)> "Hello World"
"Hello World"

If you want to load a script while opening an IEx REPL, you can do this:

$ iex script.exs

Given script.exs is your script. You can now call functions from the script in the console.