Elixir - Dynamic, Functional Language designed for building scalable and maintainable application

  •        282

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.

All Elixir code runs inside lightweight threads of execution (called processes) that are isolated and exchange information via messages. Elixir provides supervisors which describe how to restart parts of your system when things go awry, going back to a known initial state that is guaranteed to work.




Related Projects

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

Elixir is a dynamic, functional language designed for building scalable and maintainable applications.For more about Elixir, installation and documentation, check Elixir's website.

RedScript - An Elixir Flavored Language for the Browser

RedScript was created to provide a first class functional experience in the browser. I was tired of trying to coerce JavaScript into being a functional language (by not using the bad parts by convention and using other libs). It is inspired from Elixir but it does not have all of the features (ElixirScript aims to do this). Our main goal is to provide easy interoperability with other JavaScript libraries (like CoffeeScript, not like Elm) while still providing a first class functional experience in JavaScript.

elixir-tmbundle - A TextMate and Sublime Text Bundle for the Elixir programming language.

A TextMate and Sublime Text Bundle for the Elixir programming language.

Eta - A powerful language for building scalable systems on the JVM

Eta is a pure, lazy, strongly typed functional programming language on the JVM. It is a dialect of Haskell on the JVM. It is pure by default which means that calling a function with the same arguments will yield the same results every time. It is lazy by default which means that data stays in unevaluated state until a function needs to peek inside.

moebius - A functional query tool for Elixir

Our goal with creating Moebius is to try and keep as close as possible to the functional nature of Elixir and, at the same time, the goodness that is PostgreSQL. We think working with a database should feel like a natural extension of the language, with as little abstraction wonkery as possible.Moebius is not an ORM. There are no mappings, no schemas, no migrations; only queries and data. We embrace PostgreSQL as much as possible, surfacing the goodness so you be a hero.

reia - Ruby-like hybrid OOP/functional programming language for BEAM, the Erlang VM

Welcome to Reia (pronounced RAY-uh), a Ruby-like scripting language for the Erlang virtual machine (BEAM). After compilation is complete, you'll see the test suite run and if everything went well it should hopefully pass.

mypy - New Python Variant

The mypy programming language is an experimental Python variant that aims to combine the benefits of dynamic (or "duck") typing and static typing. The goal is to have the expressive power and convenience of Python, and also compile-time type checking and efficient compilation to native code, without the need of a heavy-weight VM. Mypy will get rid of the Global Interpreter Lock (GIL) that is used in CPython and allow parallel programs to take advantage of multicore processors.

30-days-of-elixir - A walk through the Elixir language in 30 exercises.

A walk through the Elixir language, one exercise per day for 30 days. 02-unit-testing.exs - We'll need unit testing for the rest of the exercises, so let's do this! The built-in unit testing library ExUnit is capable and easy-to-use.

credo - A static code analysis tool for the Elixir language with a focus on code consistency and teaching

Credo is a static code analysis tool for the Elixir language with a focus on teaching and code consistency. It implements its own style guide.

sdk - The Dart SDK, including the VM, dart2js, core libraries, and more.

Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.Visit the dartlang.org to learn more about the language, tools, getting started, and more.

ecto - A database wrapper and language integrated query for Elixir

A database wrapper and language integrated query for Elixir

ex_top - ExTop is an interactive monitor for the Erlang VM written in Elixir.

ExTop is an interactive monitor for the Erlang VM written in Elixir.

Groovy - A dynamic language for the Java platform

Groovy is a powerful, optionally typed and dynamic language, with static-typing and static compilation capabilities, for the Java platform aimed at multiplying developers’ productivity thanks to a concise, familiar and easy to learn syntax. It integrates smoothly with any Java program, and immediately delivers to your application powerful features, including scripting capabilities, Domain-Specific Language authoring, runtime and compile-time meta-programming and functional programming.

Elm - Functional Reactive Programming Language compiles to Javascript

Elm is a functional reactive programming (FRP) language that compiles to HTML, CSS, and JS. FRP is a concise and elegant way to create highly interactive applications and avoid callbacks. It aims to make web development more pleasant. Functional Reactive Programming (FRP) is a high-level way to work with interactions. It provides control flow structures for time.

Scala Language - Object-Oriented Meets Functional

Scala is a pure-bred object-oriented language. Conceptually, every value is an object and every operation is a method-call. The language supports advanced component architectures through classes and traits. Even though its syntax is fairly conventional, Scala is also a full-blown functional language. It has everything you would expect, including first-class functions, a library with efficient immutable data structures, and a general preference of immutability over mutation.

Python - Programming Language

Python is a remarkably powerful dynamic programming language that is used in a wide variety of application domains. It is embeddable within applications as a scripting interface. Build flexible data-driven code using Python's powerful and dynamic introspection capabilities and advanced language features such as meta-classes, duck typing and decorators.

coconut - Simple, elegant, Pythonic functional programming.

Coconut (coconut-lang.org) is a variant of Python that adds on top of Python syntax new features for simple, elegant, Pythonic functional programming.

Exq - Job processing library for Elixir - compatible with Resque / Sidekiq

Exq is a job processing library compatible with Resque / Sidekiq for the Elixir language.While you may reach for Sidekiq / Resque / Celery by default when writing apps in other languages, in Elixir there are some good options to consider that are already provided by the language and platform. So before adding Exq or any Redis backed queueing library to your application, make sure to get familiar with OTP and see if that is enough for your needs. Redis backed queueing libraries do add additional infrastructure complexity and also overhead due to serialization / marshalling, so make sure to evaluate whether or it is an actual need.

elixir-style-guide - Style Guide for the Elixir language, implemented by Credo

Like all of my work, this style guide stands on the shoulders of giants: It is influenced by the Ruby style guides by bbatsov and GitHub as well as more public attempts at Elixir Style Guides. This is especially important because we are such a young community. All the code we put out there is worth its weight in gold if it is easy to comprehend and invites people to learn and contribute.