elixir README

The project's README from github.com/elixir-lang/elixir. As one markdown file: README.md.

Elixir logo

CI OpenSSF Best Practices

Elixir is a programming language designed for building scalable and maintainable applications.

For more about Elixir, installation and documentation, check Elixir's website.

Policies

New releases are announced in the announcement mailing list. You can subscribe by sending an email to [email protected] and replying to the confirmation email.

All security releases will be tagged with [security]. For more information, please read our Security Policy.

All interactions in our official communication channels follow our Code of Conduct.

All contributions are required to conform to our Open Source Policy.

Bug reports

For reporting bugs, visit our issue tracker and follow the steps for reporting a new issue. Please disclose security vulnerabilities privately in our Security page.

All currently open bugs related to Elixir are listed in the issues tracker. The Elixir team uses the issues tracker to focus on actionable items, including planned enhancements in the short and medium term. We also do our best to label entries for clarity and to ease collaboration.

Our actionable item policy has some important consequences, such as:

By keeping the overall issues tracker tidy and organized, the community can easily peek at what is coming in new releases and also get involved by commenting on existing issues and submitting pull requests. Please remember to keep the tone positive and be kind! For more information, see the Code of Conduct.

Discussions, support, and help

For general discussions, support, and help, please use the community spaces listed on the sidebar of the Elixir website, such as forums, chat platforms, etc, where the wider community will be available to help you.

Proposing new features

We encourage you to first propose new features in the community spaces listed above. These discussions help refine ideas and gather feedback before submission. Our website also includes a general outline of the language history and its current development focus.

Once you are ready, you can submit your proposal to the Elixir Core mailing list, either through the web interface or by subscribing to it at [email protected]. Remember to include a clear problem description, compare the proposed solution to existing alternatives in the Elixir ecosystem (and in other languages if possible), and consider the potential impact your changes will have on the codebase and community.

Once a proposal is accepted, it will be added to the issue tracker. Features and bug fixes that have already been merged and will be included in the next release are then "closed" and added to the changelog before release.

Compiling from source

For the many different ways to install Elixir, see our installation instructions on the website. However, if you want to contribute to Elixir, you will need to compile from source.

First, install Erlang. After that, clone this repository to your machine, compile and test it:

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

Note: if you are running on Windows, this article includes important notes for compiling Elixir from source on Windows.

In case you want to use this Elixir version as your system version, you need to add the bin directory to your PATH environment variable.

When updating the repository, you may want to run make clean before recompiling. For deterministic builds, you should set the environment variable ERL_COMPILER_OPTIONS=deterministic.

Contributing

Contributions to Elixir are always welcome! Before you get started, please check out our CONTRIBUTING.md file. There you will find detailed guidelines on how to set up your environment, run the test suite, format your code, and submit pull requests.

Note you must disclose the use of coding agents and AI written code in your contributions. See the "Using AI and coding agents" in CONTRIBUTING.md.

License

"Elixir" and the Elixir logo are registered trademarks of The Elixir Team.

Elixir source code is released under Apache License 2.0.

Check LICENSE file for more information.

elixir (elixir-lang/elixir)

fault-tolerance
Searching Database…

26.7K ·GitHub
What is this?Elixir is a programming language designed for building scalable and maintainable applications, running on the Erlang VM (BEAM).
Is this a full language or a framework on top of something else?It's a complete programming language that compiles to Erlang VM bytecode, inheriting the BEAM's concurrency and fault-tolerance model.
Do I need Erlang installed first?Yes, Erlang is required before compiling Elixir from source.
Any gotchas when compiling on Windows?Windows users should check the dedicated article with important notes for compiling Elixir from source on that platform.
How do I add Elixir to my PATH after building from source?If you want to use this compiled version as your system Elixir, add its bin directory to your PATH environment variable.
How do I keep my build clean after pulling updates?Run make clean before recompiling when updating the repository, and for deterministic builds set ERLCOMPILEROPTIONS=deterministic.
What are similar projects?otp, Nim, Singeli, goose, morloc, rust, ninja, spinel
Size
70.4 MB
Stars
26.7K
Age
15y
Commits · 90 Days