Skip to content
/ elixir Public
forked from elixir-lang/elixir

Elixir is a functional, meta-programming aware language built on top of the Erlang VM. It is a dynamic language that focuses on tooling to leverage Erlang's abilities to build concurrent, distributed and fault-tolerant applications with hot code upgrades

License

Notifications You must be signed in to change notification settings

adbl/elixir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elixir

Build Status

Elixir is a programming language built on top of the Erlang VM. As Erlang, it is a functional language built to support distributed, fault-tolerant, non-stop applications with hot code swapping.

Elixir is also dynamic typed but, differently from Erlang, it is also homoiconic, allowing meta-programming via macros. Elixir also supports polymorphism via protocols (similar to Clojure's), dynamic records and provides a reference mechanism.

Finally, Elixir and Erlang share the same bytecode and data types. This means you can invoke Erlang code from Elixir (and vice-versa) without any conversion or performance hit. This allows a developer to mix the expressiveness of Elixir with the robustness and performance of Erlang.

Usage

You can run and learn about Elixir in the Getting Started guide.

But if you just want to try it out, clone this repository to your machine, compile and test it:

$ git clone https://github.com/elixir-lang/elixir.git
$ cd elixir
$ make test

If tests pass, you are ready to move on to the Getting Started guide or to try Interactive Elixir by running: bin/iex in your terminal.

However, if tests fail, it is likely you have an outdated Erlang version (Elixir requires Erlang R15B or later). You can check your Erlang version by calling erl in the command line. You will see some information as follow:

Erlang R15B (erts-5.8.4) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]

If you have the correct version and tests still fail, feel free to open an issue.

Contributing & Roadmap

If you want to contribute, Elixir code is is divided inside the apps folder:

  • elixir - Contains Elixir's kernel and stdlib;

  • eex - Template engine that allows you to embed Elixir;

  • ex_unit - Simple test framework that ships with Elixir;

We usually keep a list of features and bugs in the issue tracker.

Important links

License

Copyright (c) 2012 Plataformatec. See LICENSE file.

About

Elixir is a functional, meta-programming aware language built on top of the Erlang VM. It is a dynamic language that focuses on tooling to leverage Erlang's abilities to build concurrent, distributed and fault-tolerant applications with hot code upgrades

Resources

License

Stars

Watchers

Forks

Packages

No packages published