PLDB
Languages Features Calendar About Lists Add Language
GitHub icon

Elixir

Elixir

Elixir is a programming language created in 2011 by José Valim.

Elixir is a functional, concurrent, general-purpose programming language that runs on the Erlang virtual machine (BEAM). Elixir builds on top of Erlang and shares the same abstractions for building distributed, fault-tolerant applications. Elixir also provides a productive tooling and an extensible design. Read more on Wikipedia...

Try now: Riju · TIO

#41on PLDB 11Years Old 31.4kUsers

Example code from Riju:

IO.puts("Hello, world!")

Example code from hello-world:

#!/usr/bin/env elixir IO.puts "Hello World"

Example code from the Hello World Collection:

# Hello world in Elixir defmodule HelloWorld do IO.puts "Hello, World!" end

Example code from Linguist:

%{"cowboy": {:hex, :cowboy, "1.0.0"}, "cowlib": {:hex, :cowlib, "1.0.1"}, "hackney": {:hex, :hackney, "0.14.3"}, "hound": {:hex, :hound, "0.6.0"}, "httpoison": {:hex, :httpoison, "0.5.0"}, "idna": {:hex, :idna, "1.0.1"}, "phoenix": {:hex, :phoenix, "0.10.0"}, "plug": {:hex, :plug, "0.11.1"}, "poison": {:hex, :poison, "1.3.1"}, "ranch": {:hex, :ranch, "1.0.0"}}

Example code from Wikipedia:

task = Task.async fn -> perform_complex_action() end other_time_consuming_action() Task.await task

Language features

Feature Supported Example Token
Binary Literals ✓
# 0b[01]+
Integers ✓
# \d(_?\d)*
Floats ✓
# \d(_?\d)*\.\d(_?\d)*([eE][-+]?\d(_?\d)*)?
Hexadecimals ✓
# 0x[\da-fA-F]+
Octals ✓
# 0o[0-7]+
Strings ✓
"Hello world"
"
Print() Debugging ✓ IO.puts
Message Passing ✓
Line Comments ✓
# A comment
#
Semantic Indentation ✓
File Imports ✓
# Alias the module so it can be called as Bar instead of Foo.Bar
alias Foo.Bar, as: Bar

# Require the module in order to use its macros
require Foo

# Import functions from Foo so they can be called without the `Foo.` prefix
import Foo

# Invokes the custom code defined in Foo as an extension point
use Foo
Comments ✓
# this is a comment
MultiLine Comments Ï´

Trending Elixir repos on GitHub

repo stars description
phoenix_live_view 2197 "Rich real-time user experiences with server-rendered HTML"
elixir 15832 "Elixir is a dynamic functional language designed for building scalable and maintainable applications"
ecto 4322 A database wrapper and language integrated query for Elixir
phoenix 14194 Productive. Reliable. Fast.
absinthe 2846 The GraphQL toolkit for Elixir
horde 569 Horde is a distributed Supervisor and Registry backed by DeltaCrdt
teslamate 136 A self-hosted data logger for your Tesla 🚘
blockscout 639 Blockchain explorer for Ethereum based network and a tool for inspecting and analyzing EVM based blockchains.
phoenix_live_view_example 273

Article source

PLDB - Build the next great programming language. v5.0.0 - Acknowledgements · Email · GitHub